Vertex AIの活用がGitLabとの提携で推進
2023年5月2日、GitLabとGoogle Cloudは、カスタマイズ可能な生成AIの基盤モデルで、AI支援機能を拡充することを発表しました。提携によりGoogle Cloudの「Vertex AI」基盤モデルが、GitLabのAIを活用したセキュリティ機能に活用され、脆弱性の特定や修復をより効率的に行えるようになります。
GitLabでは、DevSecOpsのワークフロー効率を10倍向上させるとしています。
両社は、これまで締結していた戦略的パートナーシップを延長しました。GitLabの企業向けDevSecOpsプラットフォームで、AI支援機能の提供がさらに進むと見られます。
【参考】:GitLab: GitLab and Google Cloud Partner to Expand AI-Assisted Capabilities with Customizable Gen AI Foundation Models 【参考】:Google Cloud: GitLab and Google Cloud Partner to Expand AI-Assisted Capabilities with Customizable Gen AI Foundation Models
Google Cloudの概要
Google Cloudは、Googleが提供するクラウドコンピューティングサービスです。コンピューティング・ストレージのほか、AIと機械学習(ML)やデータ分析などにも力を入れています。AIが組み込まれたクラウドサービス提供のために、必要なサービスを拡張しています。
チームコラボレーションにも注力し、Google Workspaceは企業向けスイート製品としてプロジェクト管理などにも利用されています。
【参考】:Google Cloud
Google CloudのVertex AIとは
Vertex AI(バーテクス AI)とは、Google Cloudの機械学習プラットフォームを指します。企業向けのAIサービスで、機械学習のツールを統合したプラットフォームです。AutoMLとAI Platformを統合しており、モデルのデプロイおよび維持を迅速に行うことができます。企業の導入事例も、確実に増加しています。
【参考】:Vertex AI 【参考】:Vertex AI の概要
GitLabの概要
GitLab(ギットラボ)は、ソフトウェアリポジトリなどの開発・運用向けサービスを提供しています。セキュリティを確保するとともに、ソフトウェア開発ライフサイクルのプロセスを自動化し、ソフトウェア開発の生産性向上をに役立てることができます。
生産性向上では、自動化ツールを提供し、セキュリティスキャンの自動化も可能です。GitLabでは、企業向けワークロードを想定し、サービスを提供しています。
【参考】:About GitLab
GitLabのDevSecOpsとは
DevSecOpsとは、開発(Development)・セキュリティ(Security)・運用(Operation)からなるソフトウェア開発の手法を指します。従来のDevOpsにセキュリティ手法を統合したものです。ソフトウェア開発のライフサイクルにおいて、セキュリティの考え方を全員が共有しソフトウェアの安全性を高めていきます。
GitLabは、堅牢な CI/CD(継続的インティグレーション/継続的デリバリー)により自動化を推進します。その下でセキュリティコントロールをDevOpsワークフローに組み入れて、DevSecOpsを実現しています。
GitLabでは、Googleの生成AI基盤 Vertex AIを活用し、顧客の知的財産やプライバシー保護を推進するとしています。
【参考】:AI/ML in DevSecOps Series
DevSecOpsでAIを活用するメリット
DevSecOpsでAIを活用するメリットは、数多くあります。ここでは担当別に解説していきます。
・開発者のメリット 開発者は、AIによりコードの生成やサジェスト機能などを利用することができます。コード開発が、効率的でかつ品質の高いコード開発が期待できます。コードのレビューや変更管理も効率向上が期待できます。コード全体の整合性を高めて、マージしメンテナンスの維持に役立てることができます。
・セキュリティ面のメリット ソフトウェア開発のライフサイクルを通じて、安全なコードを書けるような環境を提供します。脆弱性の発見や修正を容易にし、開発者のスキル向上にも役立てることができます。また、テスト工程の反復作業を自動化することで、脆弱性や不具合の発見に貢献します。今回の提携でこちらの強化が期待できます。
・運用面のメリット デプロイにおける評価を自動化し、問題の発見を推進するとともに、コードが理解しやすいようにサポートを受けることができます。
・プロセス全般のメリット プロジェクトの会議にAIが加わり、問題のサマリーを作成し支援します。同様に大量のドキュメントから有益な情報を抽出し、役立てることができます。また、ソフトウェア開発ライフサイクルにおける生産性指標に異常がないか、予測し分析結果から問題を解決することが期待できます。
GitLabのVertex AIを用いた機能提供とメリット
GitLabでは、Vertex AIの導入により「Built with Google Cloud AI program」を提供し、活用していきます。Google Cloudの生成AIモデルを活用した機能は、実験的な機能として提供されます。
「Explain this Vulnerability」により、脆弱性に対して自然言語により問題発見と解決方法を提示し、セキュリティ確保に役立てることができます。開発者は、このメリットを得て効率的にセキュリティの維持が可能となります。
すでに実験レベルの機能として発表した、「Explain this Code」「Summarize Issue Comments」「Summarize Merge Request Changes」に加わり、ソフトウェア開発ライフサイクル全体のワークフロー自動化に役立てられます。
【参考】:GitLab details AI-assisted features in the DevSecOps platform 【参考】:GitLab: ML experiment: Explain this source code 【参考】:GitLab: ML experiment: Summarizing issue comments 【参考】:ML experiment: Summarize merge request changes
GitLabのVertex AI機能の利用料金
現時点の提供機能は、「Explain this Vulnerability」という実験的な機能となります。正式版の利用料金に関しては明らかにされていません。GitLabは、無料プランから有料プランまであります。Vertex AIも通常利用においては、マシンタイプやパイプライン実行に応じて費用が発生します。
【参考】:GitLab: 料金 【参考】:Google Cloud: Vertex AI の料金
GitLabとVertex AIでAIモデルを構築するには
GitLabでは、構築チュートリアルとしてPythonベースのクレジットカード取引詐欺検出アプリのデモを用意しています。このデモにより、連携方法を理解することができます。
デモでは、GitLabはアプリケーションのソースコードをホストし、テストとスキャンを自動的に実行します。Pythonコードを実行し、プログラムの実行結果とアウトプットをGoogle Cloud Storageにアップロードし、Vertex AIでエンドポイントを作成します。
手順としては、GitLabとGoogle Cloudを接続し、Vertex AIにデータをアップロードします。GitLabでCI/CDパイプラインを作成し、品質とセキュリティのテストを行います。トレーニングは、Pythonのスクリプトを実行してモデルを学習します。
その後モデルのトレーニングのために、Vertex AIからデータをフェッチし、モデルをトレーニングしてGoogle Cloud Storageに保存します。
【参考】:GitLab: Train and deploy AI models with GitLab and Google Cloud's Vertex AI
GitLabのVertex AI活用は今後さらに強化されます
今回の発表は、GitLabのDevSecOpsにGoogle CloudのVertex AIを提供し、手始めとして「Explain this Vulnerability」機能を実験的に提供するものです。今後のGitLabのAI機能は、Vertex AIを活用するとしており、開発者に役立つ機能が今後も登場すると見られます。両社の活動は、AI活用として開発者に注目される機能強化となるでしょう。
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから