GitLab Duoセルフホストモデルがサポートするプラットフォーム
- プラン: Premium、Ultimate
- アドオン: GitLab Duo Enterprise
- 提供形態: GitLab Self-Managed
複数のプラットフォームを利用して、セルフホストモデルの大規模言語モデル(LLM)をホストできます。各プラットフォームには、さまざまなニーズに対応できる独自の機能と利点があります。次のドキュメントでは、現在サポートされているオプションをまとめています。使用したいプラットフォームがこのドキュメントにない場合は、プラットフォームリクエストイシュー(イシュー526144)でフィードバックをお寄せください。
セルフホストモデルのデプロイの場合
vLLM
vLLMは、メモリ効率性でLLMの提供に最適化された、高性能な推論サーバーです。モデルの並列処理をサポートし、既存のワークフローと簡単に統合できます。
vLLMをインストールするには、vLLMインストールガイドを参照してください。バージョンv0.6.4.post1以降をインストールする必要があります。
エンドポイント設定
GitLabでOpenAI API互換プラットフォーム(vLLMなど)のエンドポイントURLを設定する場合:
- URLのサフィックスは
/v1にする必要があります - デフォルトのvLLM設定を使用している場合、エンドポイントURLは
https://<hostname>:8000/v1になります - サーバーがプロキシまたはロードバランサーの背後に設定されている場合、ポートを指定する必要がない場合があります。その場合、URLは
https://<hostname>/v1になります
モデル名を検索
モデルがデプロイされたら、GitLabのモデル識別子フィールドのモデル名を取得するには、vLLMサーバーの/v1/modelsエンドポイントにクエリを実行します:
curl \
--header "Authorization: Bearer API_KEY" \
--header "Content-Type: application/json" \
http://your-vllm-server:8000/v1/modelsモデル名は、レスポンスのdata.idフィールドの値です。
レスポンス例:
{
"object": "list",
"data": [
{
"id": "Mixtral-8x22B-Instruct-v0.1",
"object": "model",
"created": 1739421415,
"owned_by": "vllm",
"root": "mistralai/Mixtral-8x22B-Instruct-v0.1",
// Additional fields removed for readability
}
]
}この例では、モデルのidがMixtral-8x22B-Instruct-v0.1の場合、GitLabのモデル識別子をcustom_openai/Mixtral-8x22B-Instruct-v0.1として設定します。
詳細については、次を参照してください:
- vLLMでサポートされているモデルについては、vLLM Supported Models documentationを参照してください。
- vLLMを使用してモデルを実行する場合に使用できるオプションについては、エンジン引数に関するvLLMドキュメントを参照してください。
- モデルに必要なハードウェアについては、Supported models and Hardware requirements documentationを参照してください。
例:
Mistral-7B-Instruct-v0.2
HuggingFaceからモデルをダウンロードします:
git clone https://<your-hugging-face-username>:<your-hugging-face-token>@huggingface.co/mistralai/Mistral-7B-Instruct-v0.3サーバーを実行します:
vllm serve <path-to-model>/Mistral-7B-Instruct-v0.3 \ --served_model_name <choose-a-name-for-the-model> \ --tokenizer_mode mistral \ --tensor_parallel_size <number-of-gpus> \ --load_format mistral \ --config_format mistral \ --tokenizer <path-to-model>/Mistral-7B-Instruct-v0.3
Mixtral-8x7B-Instruct-v0.1
HuggingFaceからモデルをダウンロードします:
git clone https://<your-hugging-face-username>:<your-hugging-face-token>@huggingface.co/mistralai/Mixtral-8x7B-Instruct-v0.1トークン設定の名前を変更します:
cd <path-to-model>/Mixtral-8x7B-Instruct-v0.1 cp tokenizer.model tokenizer.model.v3モデルを実行します:
vllm serve <path-to-model>/Mixtral-8x7B-Instruct-v0.1 \ --tensor_parallel_size 4 \ --served_model_name <choose-a-name-for-the-model> \ --tokenizer_mode mistral \ --load_format safetensors \ --tokenizer <path-to-model>/Mixtral-8x7B-Instruct-v0.1
レイテンシーを削減するためにリクエストログを無効にする
本番環境でvLLMを実行する場合、--disable-log-requestsフラグを使用してリクエストログを無効にすると、レイテンシーを大幅に削減できます。
詳細なリクエストログが必要ない場合にのみ、このフラグを使用してください。
リクエストログを無効にすると、特に負荷が高い場合に詳細ログによって発生するオーバーヘッドが最小限に抑えられ、パフォーマンスレベルの向上に役立ちます。
vllm serve <path-to-model>/<model-version> \
--served_model_name <choose-a-name-for-the-model> \
--disable-log-requestsこの変更により、内部ベンチマークでの応答時間が大幅に改善されることが確認されています。
クラウドホスト型モデルデプロイの場合
AWS Bedrock
AWS Bedrockは、開発者が大手AI企業の事前トレーニング済みモデルを使用して生成AIアプリケーションをビルドおよびスケールできるようにする、フルマネージドサービスです。他のAWSサービスとシームレスに統合され、従量課金制の価格モデルを提供します。
AWS Bedrockモデルにアクセスするには:
適切なAWS IAM権限でBedrockにアクセスするようにIAM認証情報を設定します:
IAMロールに、Amazon Web Services Bedrockへのアクセスを許可する
AmazonBedrockFullAccessポリシーがあることを確認してください。これは、GitLab DuoセルフホストモデルUIでは実行できません。使用するモデルへのアクセスをAmazon Web Servicesコンソールを使用してリクエストします。
Dockerコンテナの起動時に、
AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY、AWS_REGION_NAMEなどの適切なAWS SDK環境変数をエクスポートして、AIゲートウェイインスタンスを認証します。詳細については、AWS Identity and Access Management (IAM)ガイドを参照してください。
AIゲートウェイでは、現時点では一時的な認証情報はサポートされていません。インスタンスプロファイルまたは一時的な認証情報を使用するためにBedrockのサポートを追加する方法については、イシュー542389を参照してください。
オプション。Virtual Private Cloud(VPC)で動作するプライベートBedrockエンドポイントをセットアップするには、AIゲートウェイコンテナを起動するときに、
AWS_BEDROCK_RUNTIME_ENDPOINT環境変数が内部URLで設定されていることを確認してください。設定例:
AWS_BEDROCK_RUNTIME_ENDPOINT = https://bedrock-runtime.{aws_region_name}.amazonaws.comVPCエンドポイントの場合、URL形式が
https://vpce-{vpc-endpoint-id}-{service-name}.{aws_region_name}.vpce.amazonaws.comのように異なる場合があります
詳細については、Amazon Web Services Bedrockでサポートされている基盤モデルを参照してください。
Azure OpenAI
Azure OpenAIはOpenAIの強力なモデルへのアクセスを提供し、開発者は堅牢なセキュリティとスケーラブルなインフラストラクチャを使用して、高度なAI機能をアプリケーションに統合できます。
詳細については、以下を参照してください:
複数のモデルとプラットフォームを使用する
GitLab Duoセルフホストモデルを使用すると、同じGitLabインスタンスで複数のモデルとプラットフォームを使用できます。
たとえば、ある機能がAzure OpenAIを使用するように設定し、別の機能がAWS BedrockまたはvLLMで提供されるセルフホストモデルを使用するように設定できます。
このセットアップにより、各ユースケースに最適なモデルとプラットフォームを柔軟に選択できます。モデルは、互換性のあるプラットフォームでサポートおよび提供されている必要があります。
さまざまなプロバイダーのセットアップの詳細については、以下を参照してください: