翻訳タスクの場合、Vertex AI の生成 AI は Cloud Translation API の 2 つの特殊な翻訳モデルを提供します。
翻訳 LLM - Google の最新で高品質の LLM スタイルの翻訳サービス。妥当なレイテンシ(Gemini 2.0 Flash より約 3 倍高速)でサービングしながら、最高品質の翻訳を実現します。
Cloud Translation のニューラル機械翻訳(NMT)モデル - レイテンシが約 100 ミリ秒の翻訳を実現する Google のリアルタイム翻訳サービス。このモデルは、同程度のレイテンシでベンチマークされたすべてのモデルの中で最高品質を実現し、品質の継続的な向上を実現しています。NMT は、Gemini 2.0 Flash よりも最大 20 倍高速なレイテンシを実現できます。
Translation LLM の主な利点と差別化要因
- 比類のない翻訳品質 - 翻訳 LLM は、他のベンチマーク モデルと比較してベンチマークで大幅に高いパフォーマンスを実現し、最高の翻訳品質を提供します。Translation LLM は、他の翻訳モデルでよく見られるような、不自然な「単語単位」の翻訳ではなく、文を大幅に書き換えて、ターゲット言語でより自然な表現にする可能性がはるかに高くなります。
- 優れた品質とレイテンシのトレードオフ - 翻訳 LLM は、Gemini 2.0 Flash よりも大幅に優れたレイテンシで LLM を活用した翻訳を提供します。翻訳 LLM は NMT モデルよりもレイテンシが高くなりますが、通常は幅広いアプリケーションで高品質のレスポンスを提供します。
モデルの機能の比較
| 機能 | 翻訳 LLM(Gemini を搭載) | NMT モデル |
|---|---|---|
| 説明 | Gemini を基盤とする翻訳に特化した大規模言語モデルで、翻訳用にファインチューニングされています。Vertex AI の生成 AI と Cloud Translation - Advanced API で使用できます。 | Cloud Translation - Advanced API と Cloud Translation - Basic API で利用可能な Google のニューラル機械翻訳モデル。シンプルさとスケールを念頭に最適化されています。 |
| 品質 | 最高品質の翻訳。品質において NMT、Gemini 2.0 Flash、Gemini 2.5 Pro を上回ります。自然な流れになるように文を書き換える可能性が高くなります。エラーが大幅に減少していることを示します。 | 言語ペアに応じて中程度から高品質。多くの言語とドメインの組み合わせで、最もパフォーマンスの高いリアルタイム NMT モデルの 1 つです。 |
| レイテンシ | レイテンシは Gemini 2.0 Flash よりも大幅に改善されていますが、NMT よりも遅いです。 | 最速のリアルタイム翻訳。低レイテンシで、チャットやリアルタイム アプリケーションに適しています。Gemini 2.0 Flash より最大 20 倍高速なレイテンシを実現 |
| 言語サポート | 対応言語は、アラビア語、中国語、チェコ語、オランダ語、英語、フランス語、ドイツ語、ヒンディー語、インドネシア語、イタリア語、日本語、韓国語、ポーランド語、ポルトガル語、ロシア語、スペイン語、タイ語、トルコ語、ウクライナ語、ベトナム語です。全リストについては、サポートされている言語を参照してください。 | 広東語、フィジー語、バリ語などの言語をサポートしています。サポートされているリストにある任意の言語から任意の言語への翻訳が可能です。全リストについては、サポートされている言語を参照してください。 |
| カスタマイズ | - 高度な用語集、ドメイン/顧客固有の適応のための Vertex AI の教師ありファインチューニング、少数の例によるリアルタイム スタイル カスタマイズのための適応型翻訳のサポート。 | Cloud Translation - Advanced API で、用語を制御する用語集と、AutoML Translation を使用したカスタムモデルのトレーニングをサポートします。 |
| 翻訳機能 | HTML 翻訳 | HTML、バッチ、書式設定済みドキュメントの翻訳 |
| API 統合 | Cloud Translation - Advanced API、Vertex AI API | Cloud Translation - Basic API、Cloud Translation - Advanced API、Vertex AI API |
用途
このセクションでは、Vertex AI Studio を使用してテキストをある言語から別の言語に迅速に翻訳する方法について説明します。 Google Cloud コンソールまたは API を使用して、翻訳 LLM または NMT モデルを使用してテキストを翻訳できます。各モデルがサポートする言語は異なります。翻訳をリクエストする前に、使用しているモデルが目的のソース言語とターゲット言語をサポートしていることを確認してください。
コンソール
Google Cloud コンソールの [Vertex AI] セクションで、[Vertex AI Studio] の [Translate text] ページに移動します。
[実行設定] ペインの [モデル] フィールドで、翻訳モデルを選択します。
モデルの設定(温度など)を変更するには、[詳細] を開きます。
原文の言語と訳文の言語を設定します。
入力フィールドに、翻訳するテキストを入力します。
[送信] をクリックします。
翻訳のリクエスト方法を示すコードまたは curl コマンドを取得するには、[コードを取得] をクリックします。
Vertex AI Studio では、翻訳 LLM を使用して翻訳例を指定し、モデルのレスポンスをスタイル、トーン、業界ドメインに近づけて調整できます。モデルは、テキストを翻訳する前に、少量のサンプルをコンテキストとして使用します。
API
翻訳に使用するモデルを選択します。
翻訳 LLM
Vertex AI API と Translation LLM を使用してテキストを翻訳します。
REST
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_NUMBER_OR_ID: Google Cloud プロジェクトの数字または英数字の ID
- LOCATION: このオペレーションを実行するロケーション。例:
us-central1 - SOURCE_LANGUAGE_CODE: 入力テキストの言語コード。適応型翻訳に記載されているいずれかの言語コードを設定します。
- TARGET_LANGUAGE_CODE: 入力テキストを翻訳する言語。適応型翻訳に記載されているいずれかの言語コードを設定します。
- SOURCE_TEXT: 翻訳対象のソース言語のテキスト。
- MIME_TYPE(省略可): ソーステキストの形式(
text/html、text/plainなど)。デフォルトでは、MIME タイプはtext/plainに設定されます。
HTTP メソッドと URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/cloud-translate-text:predict
リクエストの本文(JSON):
{
"instances": [
{
"source_language_code": "SOURCE_LANGUAGE_CODE",
"target_language_code": "TARGET_LANGUAGE_CODE",
"contents": [
"SOURCE_TEXT"
],
"mimeType": "MIME_TYPE",
"model": "projects/PROJECT_ID/locations/LOCATION/models/general/translation-llm"
}
]
}
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{
"predictions": [
{
"translations": [
{
"translatedText": "TRANSLATED_TEXT",
"model": "projects/PROJECT_ID/locations/LOCATION/models/general/translation-llm"
}
]
}
]
}
Node.js
このサンプルを試す前に、Vertex AI クイックスタート: クライアント ライブラリの使用にある Node.js の設定手順を完了してください。詳細については、Vertex AI Node.js API のリファレンス ドキュメントをご覧ください。
Vertex AI に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
async function translate() { const request = { instances: [{ source_language_code: SOURCE_LANGUAGE_CODE, target_language_code: TARGET_LANGUAGE_CODE, contents: [SOURCE_TEXT], model: "projects/PROJECT_ID/locations/LOCATION/models/general/translation-llm" }] }; const {google} = require('googleapis'); const aiplatform = google.cloud('aiplatform'); const endpoint = aiplatform.predictionEndpoint('projects/PROJECT_ID/locations/LOCATION/publishers/google/models/cloud-translate-text'); const [response] = await endpoint.predict(request) console.log('Translating') console.log(response) }
Python
このサンプルを試す前に、Vertex AI クイックスタート: クライアント ライブラリの使用にある Python の設定手順を完了してください。詳細については、Vertex AI Python API のリファレンス ドキュメントをご覧ください。
Vertex AI に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
from google.cloud import aiplatform def translate(): # Create a client client_options = {"api_endpoint": "LOCATION-aiplatform.googleapis.com"} client = aiplatform.gapic.PredictionServiceClient(client_options=client_options) # Initialize the request endpoint_id = f"projects/PROJECT_ID/locations/LOCATION/publishers/google/models/cloud-translate-text" instances=[{ "model": "projects/PROJECT_ID/locations/LOCATION/models/general/translation-llm", "source_language_code": 'SOURCE_LANGUAGE_CODE', "target_language_code": 'TARGET_LANGUAGE_CODE', "contents": ["SOURCE_TEXT"], }] # Make the request response = client.predict(instances=instances, endpoint=endpoint_id) # Handle the response print(response)
NMT
Cloud Translation API と NMT モデルを使用してテキストを翻訳します。
REST
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_NUMBER_OR_ID: Google Cloud プロジェクトの数字または英数字の ID。
- SOURCE_LANGUAGE: (省略可)入力ドキュメントの言語コード。サポートされている言語コードについては、言語のサポートをご覧ください。
- TARGET_LANGUAGE: 入力テキストを翻訳する言語。サポートされている言語コードのいずれかに設定します。
- SOURCE_TEXT: 翻訳するテキスト。
HTTP メソッドと URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_ID:translateText
リクエストの本文(JSON):
{
"sourceLanguageCode": "SOURCE_LANGUAGE",
"targetLanguageCode": "TARGET_LANGUAGE",
"contents": ["SOURCE_TEXT1", "SOURCE_TEXT2"]
}
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{
"translations": [
{
"translatedText": "TRANSLATED_TEXT1"
},
{
"translatedText": "TRANSLATED_TEXT2"
}
]
}
Node.js
このサンプルを試す前に、Vertex AI クイックスタート: クライアント ライブラリの使用にある Node.js の設定手順を完了してください。詳細については、Vertex AI Node.js API のリファレンス ドキュメントをご覧ください。
Vertex AI に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Python
このサンプルを試す前に、Vertex AI クイックスタート: クライアント ライブラリの使用にある Python の設定手順を完了してください。詳細については、Vertex AI Python API のリファレンス ドキュメントをご覧ください。
Vertex AI に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
カスタム翻訳
独自の翻訳例を指定することで、翻訳 LLM からのレスポンスをカスタマイズします。カスタム翻訳は、翻訳 LLM でのみ機能します。
カスタマイズされた翻訳は、Vertex AI Studio コンソールまたは API でリクエストできますが、1 つ違いがあります。コンソールは、TMX ファイルまたは TSV ファイルでサンプルを指定した場合にのみ、カスタム翻訳をサポートします。API は、翻訳リクエストの一部としてサンプル(最大 5 つの文ペア)をインラインで指定した場合にのみ、カスタム翻訳をサポートします。
データ要件
Google Cloud コンソールのファイルで翻訳サンプルを指定する場合は、TMX ファイルまたは TSV ファイルにセグメントのペアとしてサンプルを記述する必要があります。各ペアには、ソース言語のセグメントとその訳文が含まれます。詳細については、Cloud Translation ドキュメントの翻訳例を準備するをご覧ください。
最も正確な結果を得るには、さまざまなシナリオの具体的な例を含めてください。5 つ以上の文のペアを含める必要があります。ペアは 10,000 個以下にする必要があります。また、1 つのセグメントペアの最大文字数は合計で 512 文字です。
コンソール
Google Cloud コンソールの [Vertex AI] セクションで、[Vertex AI Studio] の [Translate text] ページに移動します。
[実行設定] ペインで、翻訳の設定を行います。
- [モデル] フィールドで [Translation LLM] を選択します。
- 温度を変更するには、[詳細] を開きます。
[例を追加] をクリックします。
- ローカル ファイルまたは Cloud Storage のファイルを選択します。Vertex AI Studio は、ファイルからソース言語とターゲット言語を決定します。
- レスポンスの生成前に、モデルで使用するサンプル数を選択します。
選択したサンプルの数は、リクエストあたりの入力文字数の上限(3,000)にカウントされます。
入力フィールドに、翻訳するテキストを入力します。
[送信] をクリックします。
Vertex AI は、入力に最も類似した参照文を指定の数だけ自動的に選択します。翻訳モデルはサンプルからパターンを識別し、レスポンスを生成する際にそれらのパターンを適用します。
リクエストごとの出力文字数は 3,000 文字です。この上限を超えるテキストは破棄されます。
翻訳のリクエスト方法を示すコードまたは curl コマンドを取得するには、[コードを取得] をクリックします。
API
カスタム翻訳をリクエストするには、翻訳リクエストに最大 5 つの参照文のペアを含めます。翻訳モデルは、これらすべてを使用してサンプルからパターンを識別し、レスポンスを生成する際にそれらのパターンを適用します。
REST
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_NUMBER_OR_ID: Google Cloud プロジェクトの数字または英数字の ID
- LOCATION: このオペレーションを実行するロケーション。例:
us-central1 - REFERENCE_SOURCE: 参照文のペアの一部である原文言語の文。
- REFERENCE_TARGET: 参照文のペアの一部である訳文言語の文。
- SOURCE_LANGUAGE: 入力テキストの言語コード。
- TARGET_LANGUAGE: 入力テキストを翻訳する言語。
- SOURCE_TEXT: 翻訳対象のソース言語のテキスト。
- MIME_TYPE(省略可): ソーステキストの形式(
text/html、text/plainなど)。デフォルトでは、MIME タイプはtext/plainに設定されます。
HTTP メソッドと URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/translate-llm:predict
リクエストの本文(JSON):
{
"instances": [
{
"reference_sentence_config": {
"reference_sentence_pair_lists": [
{
"reference_sentence_pairs": [
{
"source_sentence": "REFERENCE_SOURCE_1_1",
"target_sentence": "REFERENCE_TARGET_1_1"
},
{
"source_sentence": "REFERENCE_SOURCE_1_2",
"target_sentence": "REFERENCE_SOURCE_1_2"
}
]
}
],
"source_language_code": "SOURCE_LANGUAGE_CODE",
"target_language_code": "TARGET_LANGUAGE_CODE"
},
"content": [
"SOURCE_TEXT"
],
"mimeType": "MIME_TYPE"
}
]
}
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{
"predictions": [
{
"languageCode": "TARGET_LANGUAGE",
"translations": [
{
"translatedText": "TRANSLATED_TEXT"
}
]
}
]
}
Node.js
このサンプルを試す前に、Vertex AI クイックスタート: クライアント ライブラリの使用にある Node.js の設定手順を完了してください。詳細については、Vertex AI Node.js API のリファレンス ドキュメントをご覧ください。
Vertex AI に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
async function translate() { const request = { instances: [{ "reference_sentence_config": { "reference_sentence_pair_lists": [{ "reference_sentence_pairs": [{ "source_sentence": 'SAMPLE_REFERENCE_SOURCE_1', "target_sentence": 'SAMPLE_REFERENCE_TARGET_1' }, "reference_sentence_pairs": { "source_sentence": 'SAMPLE_REFERENCE_SOURCE_2', "target_sentence": 'SAMPLE_REFERENCE_TARGET_2' }] }], "source_language_code": 'SOURCE_LANGUAGE_CODE', "target_language_code": 'TARGET_LANGUAGE_CODE' }, "contents": ["SOURCE_TEXT"] }] }; const {google} = require('googleapis'); const aiplatform = google.cloud('aiplatform'); const endpoint = aiplatform.predictionEndpoint('projects/PROJECT_ID/locations/LOCATION/publishers/google/models/translate-llm'); const [response] = await endpoint.predict(request) console.log('Translating') console.log(response) }
Python
このサンプルを試す前に、Vertex AI クイックスタート: クライアント ライブラリの使用にある Python の設定手順を完了してください。詳細については、Vertex AI Python API のリファレンス ドキュメントをご覧ください。
Vertex AI に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
from google.cloud import aiplatform from google.protobuf.json_format import MessageToDict def translate(): # Create a client client_options = {"api_endpoint": "LOCATION-aiplatform.googleapis.com"} client = aiplatform.gapic.PredictionServiceClient(client_options=client_options) # Initialize the request endpoint_id = f"projects/PROJECT_ID/locations/LOCATION/publishers/google/models/translate-llm" instances=[{ "reference_sentence_config": { "reference_sentence_pair_lists": [{ "reference_sentence_pairs": [{ "source_sentence": 'SAMPLE_REFERENCE_SOURCE_1', "target_sentence": 'SAMPLE_REFERENCE_TARGET_1' }, { "source_sentence": 'SAMPLE_REFERENCE_SOURCE_2', "target_sentence": 'SAMPLE_REFERENCE_TARGET_2' }] }], "source_language_code": 'SOURCE_LANGUAGE_CODE', "target_language_code": 'TARGET_LANGUAGE_CODE' }, "content": ["SOURCE_TEXT"] }] # Make the request response = client.predict( endpoint=endpoint_id, instances=instances, ) # Handle the response print(response) # The predictions are a google.protobuf.Value representation of the model's predictions. predictions = MessageToDict(response._pb)['predictions'] for prediction in predictions: print(prediction['translations'])
Cloud Translation API を使用してデータセットを作成し、例文ペアをインポートすることもできます。Cloud Translation API を使用して翻訳をリクエストする場合は、データセットを含めてレスポンスをカスタマイズできます。データセットは保持され、複数の翻訳リクエストで再利用できます。詳細については、Cloud Translation ドキュメントの適応型翻訳をリクエストするをご覧ください。
サポートされている言語
翻訳 LLM
翻訳 LLM では、次のいずれかの言語間で翻訳できます。
| 言語名 | 言語コード |
|---|---|
| アラビア語 | ar |
| ベンガル語 | bn |
| ブルガリア語 | bg |
| カタルーニャ語 | ca |
| 中国語(簡体) | zh-CN |
| クロアチア語 | hr |
| チェコ語 | cs |
| デンマーク語 | da |
| オランダ語 | nl |
| 英語 | en |
| エストニア語 | et |
| フィンランド語 | fi |
| フランス語 | fr |
| ドイツ語 | de |
| ギリシャ語 | el |
| グジャラト語 | gu |
| ヘブライ語 | he |
| ヒンディー語 | hi |
| ハンガリー語 | hu |
| アイスランド語 | is |
| インドネシア語 | id |
| イタリア語 | it |
| 日本語 | ja |
| カンナダ語 | kn |
| 韓国語 | ko |
| ラトビア語 | lv |
| リトアニア語 | lt |
| マラヤーラム語 | ml |
| マラーティー語 | mr |
| ノルウェー語 | no |
| ペルシャ語 | fa |
| ポーランド語 | pl |
| ポルトガル語 | pt |
| パンジャブ語 | pa |
| ルーマニア語 | ro |
| ロシア語 | ru |
| スロバキア語 | sk |
| スロベニア語 | sl |
| スペイン語 | es |
| スワヒリ語 | sw |
| スウェーデン語 | sv |
| タミル語 | ta |
| テルグ語 | te |
| タイ語 | th |
| トルコ語 | tr |
| ウクライナ語 | uk |
| ウルドゥー語 | ur |
| ベトナム語 | vi |
| ズールー語 | zu |
NMT
Cloud Translation NMT モデルでサポートされている言語については、次のドキュメントをご覧ください。