diff --git a/02-exploring-and-comparing-different-llms/translations/ja-jp/README.md b/02-exploring-and-comparing-different-llms/translations/ja-jp/README.md index c57224fff..d1bfbd9f2 100644 --- a/02-exploring-and-comparing-different-llms/translations/ja-jp/README.md +++ b/02-exploring-and-comparing-different-llms/translations/ja-jp/README.md @@ -6,13 +6,13 @@ 前回のレッスンで、生成系 AI がどのようにして進化し、大規模言語モデル(LLM)がどう機能するのか、そしてスタートアップがそれらを自分たちの用途に応用し、成長させることができるかを見てきました。この章では、様々な大規模言語モデル(LLM)を比較し、それぞれの利点と欠点を理解することに焦点を当てます。 -スタートアップの次の第一歩は、大規模言語モデル(LLM)の現状を調査し、用途に合ったモデルや方法が何かを理解することです。 +スタートアップが次に進むべきステップは、大規模言語モデル(LLM)の現在の状況を調査し、自社のニーズに適したものが何かを理解することです。 ## はじめに このレッスンでは以下の内容を扱います: -- 現在存在する様々な種類の LLM(大規模言語モデル)について学ぶ +- いま存在する様々な種類の LLM(大規模言語モデル)について学ぶ - Azure で用途に応じて異なる AI モデルを選択しテスト、反復作業、及び比較を行う - LLM のデプロイ方法について学ぶ @@ -30,11 +30,11 @@ LLM モデルには、さまざまな種類があり、どのモデルを選択するかは、それらを使用する目的、扱うデータ、ご利用可能な金額などによって異なります。 -選択するモデルは、テキスト、オーディオ、ビデオ、画像の生成などの場合は、各用途に応じてそれぞれ違う種類のモデルを選択することになります。 +選択するモデルは、テキスト、オーディオ、ビデオ、画像の生成など、各用途に応じてそれぞれ異なる種類のモデルを選択します。 - **オーディオおよび音声認識** この用途には、音声認識として汎用性のある Whisper というモデルが最適です。このモデルは、様々なオーディオ・データでトレーニングされており、多言語にも対応した音声認識ができます。[Whisper のモデルについての詳細はこちら](https://platform.openai.com/docs/models/whisper?WT.mc_id=academic-105485-yoterada). -- **画像生成**。画像生成の選択肢として、DALL-E と Midjourney が非常に有名です。Azure OpenAI 上で DALL-E のモデルが利用可能です。[DALL-Eについての詳細はこちら](https://platform.openai.com/docs/models/dall-e?WT.mc_id=academic-105485-yoterada)をご覧ください。このカリキュラムの第 9 章でも解説します。 +- **画像生成**。画像生成の選択肢としては、DALL-E と Midjourney が非常に有名です。Azure OpenAI 上で DALL-E のモデルが利用可能です。[DALL-Eについての詳細はこちら](https://platform.openai.com/docs/models/dall-e?WT.mc_id=academic-105485-yoterada)をご覧ください。このカリキュラムの第 9 章でも解説します。 - **テキスト生成**。多くのモデルがテキスト生成用にトレーニングされており、GPT-3.5 から GPT-4 に至るまで、多種多様な選択肢があります。それぞれ利用する際のコストは異なり、GPT-4 が最も高価です。機能とコストの観点から、ニーズに最も適したモデルを選択するために、[Azure OpenAI プレイグラウンド](https://oai.azure.com/portal/playground?WT.mc_id=academic-105485-yoterada)をご確認ください。 @@ -60,17 +60,17 @@ LLM モデルには、さまざまな種類があり、どのモデルを選択 ### オープンソース・モデルとプロプライエタリ・モデル -大規模言語モデル(LLM) を分類するもう一つの方法は、それがオープンソースかプロプライエタリかという点です。 +大規模言語モデル(LLM)を分類する別の方法として、それがオープンソースなのか、それともプロプライエタリのものなのか、という観点があります。 -オープンソース・モデルは、一般に公開され、誰でも利用できるモデルです。これらは多くの場合、そのモデルを開発した企業や研究コミュニティによって提供されます。これらのモデルは、LLM の様々な用途に合わせて検証、変更、カスタマイズすることが許可されています。しかし、常に本番環境での使用に最適化されているわけではなく、プロプライエタリモデルほど高いパフォーマンスを発揮しない場合もあります。さらに、オープンソース・モデルの資金提供は限られており、長期的に維持できないか、最新の研究に基づいて更新されない可能性もあります。[Alpaca](https://crfm.stanford.edu/2023/03/13/alpaca.html?WT.mc_id=academic-105485-yoterada)、[Bloom](https://sapling.ai/llm/bloom?WT.mc_id=academic-105485-yoterada)、[LLaMA](https://sapling.ai/llm/llama?WT.mc_id=academic-105485-yoterada) などが人気のオープンソース・モデルの例です。 +オープンソース・モデルは、一般に公開され、誰でも利用できるモデルです。これらは多くの場合、そのモデルを開発した企業や研究コミュニティによって提供されます。これらのモデルは、LLM の様々な用途に合わせて検証、変更、カスタマイズすることが許可されています。しかし、常に本番環境での利用に最適化されているわけではなく、プロプライエタリモデルほど高いパフォーマンスを発揮しない場合もあります。さらに、オープンソース・モデルの資金調達は限られており、長期的に継続できない場合や、最新の研究に基づいて更新されない可能性もあります。[Alpaca](https://crfm.stanford.edu/2023/03/13/alpaca.html?WT.mc_id=academic-105485-yoterada)、[Bloom](https://sapling.ai/llm/bloom?WT.mc_id=academic-105485-yoterada)、[LLaMA](https://sapling.ai/llm/llama?WT.mc_id=academic-105485-yoterada) などが人気のオープンソース・モデルの例です。 -プロプライエタリ・モデルは、企業が所有し一般には公開されていないモデルです。これらのモデルは、通常本番環境の使用に最適化されています。しかし異なるユースケースに対して、検証、変更、カスタマイズをすることは許されていません。また、常に無料で利用できるわけではなく、使用するためには、サブスクリプションや支払いが必要な場合があります。さらに、利用者はモデルをトレーニングする際に使用するデータをコントロールできず、データのプライバシーや、責任ある AI の原則に基づく使用を、プロプライエタリ・モデルの所有者が保証していることを信頼しなければなりません。[OpenAI のモデル](https://platform.openai.com/docs/models/overview?WT.mc_id=academic-105485-yoterada)、[Google Bard](https://sapling.ai/llm/bard?WT.mc_id=academic-105485-yoterada)、[Claude 2](https://www.anthropic.com/index/claude-2?WT.mc_id=academic-105485-yoterada) などが人気のプロプライエタリ・モデルです。 +プロプライエタリ・モデルは、企業が所有し一般には公開されていないモデルです。これらのモデルは、通常本番環境での利用に最適化されています。しかし異なるユースケースに対して、検証、変更、カスタマイズをすることは許されていません。また、常に無料で利用できるわけではなく、利用するためには、サブスクリプションによる支払いが必要な場合もあります。さらに、利用者はモデルをトレーニングする際に使用するデータをコントロールできず、データのプライバシーや、責任ある AI の原則に基づく使用を、プロプライエタリ・モデルの所有者が保証していることを信頼しなければなりません。[OpenAI のモデル](https://platform.openai.com/docs/models/overview?WT.mc_id=academic-105485-yoterada)、[Google Bard](https://sapling.ai/llm/bard?WT.mc_id=academic-105485-yoterada)、[Claude 2](https://www.anthropic.com/index/claude-2?WT.mc_id=academic-105485-yoterada) などが人気のプロプライエタリ・モデルです。 ### 埋め込み (Embedding) と画像生成とテキスト・コード生成 大規模言語モデル(LLM) は出力の種類によっても分類できます。 -埋め込み (Embedding) は、テキストを、埋め込みと呼ぶ、数値形式に変換する AI モデルです。言い換えるならば、埋め込みは入力されたテキストに対する数値表現です。埋め込みによって、機械が単語や文の関係を理解しやすくなり、分類モデルや、数値データでパフォーマンスが向上するクラスタリング・モデルなど、他のモデルの入力として利用できます。埋め込みモデルは、データが豊富な代理タスクのためにモデルを構築し、その後でモデルの重み(埋め込み)を他の下流タスクで再利用する転移学習によく使用されます。このカテゴリーの例としては、[OpenAI Embeddings](https://platform.openai.com/docs/models/embeddings?WT.mc_id=academic-105485-yoterada)モデルがあります。 +埋め込み (Embedding) は、テキストを、埋め込みと呼ぶ、数値形式に変換する AI モデルです。言い換えるならば、埋め込みは入力されたテキストに対する数値表現です。埋め込みによって、機械が単語や文の関係を理解しやすくなり、分類モデルや、数値データでパフォーマンスが向上するクラスタリング・モデルなど、他のモデルの入力として利用できます。埋め込みモデルは、データが豊富な代理タスクのためにモデルを構築し、その後でモデルの重み(埋め込み)を他の下流タスクで再利用する転移学習によく使用されます。このカテゴリーの例としては、[OpenAI Embeddings](https://platform.openai.com/docs/models/embeddings?WT.mc_id=academic-105485-yoterada) モデルがあります。 ![Embedding](../../images/Embedding.png?WT.mc_id=academic-105485-yoterada) @@ -87,7 +87,7 @@ LLM モデルには、さまざまな種類があり、どのモデルを選択 上司から、学生用のクイズを作成する仕事を任されたことを想像してください。あなたには 2 人の同僚がいて、1 人はコンテンツの作成を担当し、もう 1 人はそれをレビューする役割を担います。 -コンテンツを作成する人は「デコーダーのみ」のモデルに似ています。コンテンツ作成者は、トピックを見て、既に書いた内容を参考にし、それに基づいてコンテンツを作成します。コンテンツ作成者は、魅力的で情報豊かなコンテンツを作成するのが得意ですが、トピックや学習目標を理解するのは得意ではありません。「デコーダーのみ」のモデルの例には、GPT-3 などの GPT ファミリーのモデルがあります。 +コンテンツを作成する人は「デコーダーのみ」のモデルに似ています。コンテンツ作成者は、トピックを見て、既に書いた内容を参考に、それに基づいてコンテンツを作成します。コンテンツ作成者は、魅力的で情報豊かなコンテンツを作成するのが得意ですが、トピックや学習目標を理解するのは得意ではありません。「デコーダーのみ」のモデルの例には、GPT-3 などの GPT ファミリーのモデルがあります。 一方で、レビューを担当する人は「エンコーダーのみ」のモデルに似ています。レビュー担当者は書かれたコンテンツと回答を見て、それらの関係を把握し、文脈を理解しますが、コンテンツを作成するのは得意ではありません。「エンコーダーのみ」のモデルの例には、BERT があります。 @@ -103,9 +103,9 @@ LLM モデルには、さまざまな種類があり、どのモデルを選択 ## Azure でパフォーマンスを理解するために異なるモデルでテストと反復処理を行う方法 -私たちは、現在の LLM の状況を調査し、シナリオに適したモデルの候補を見つけたら、次に、企業の実データと負荷試験でそれらをテストする必要があります。これは実験と測定を通じて行われる反復的なプロセスです。前の段落で触れたモデル(OpenAIモデル、Llama2のようなオープンソースモデル、Hugging Faceのトランスフォーマー)のほとんどは、[Azure Machine Learning Studio](https://ml.azure.com/?WT.mc_id=academic-105485-yoterada)の[ファウンデーション・モデル](https://learn.microsoft.com/azure/machine-learning/concept-foundation-models?WT.mc_id=academic-105485-yoterada)・カタログで利用可能です。 +現在の LLM の状況を調査し、シナリオに適したモデルの候補を見つけたら、次に企業の実データと負荷試験でそれらをテストする必要があります。これは実験と測定を通じて行われる反復的なプロセスです。前の段落で触れたモデル(OpenAIモデル、Llama2のようなオープンソースモデル、Hugging Faceのトランスフォーマー)のほとんどは、[Azure Machine Learning Studio](https://ml.azure.com/?WT.mc_id=academic-105485-yoterada) の[ファウンデーション・モデル・カタログ](https://learn.microsoft.com/azure/machine-learning/concept-foundation-models?WT.mc_id=academic-105485-yoterada)で利用可能です。 -[Azure Machine Learning](https://azure.microsoft.com/products/machine-learning/?WT.mc_id=academic-105485-yoterada)は、データ・サイエンティストと機械学習エンジニアが ML ライフサイクル全体(トレーニング、テスト、デプロイ、MLOpsの管理)を一つのプラットフォームで管理するために設計されたクラウド・サービスです。Machine Learning Studio はグラフィカル・ユーザー・インターフェースを提供し、ユーザーが次の操作を行うことを可能にします: +[Azure Machine Learning](https://azure.microsoft.com/products/machine-learning/?WT.mc_id=academic-105485-yoterada) は、データ・サイエンティストと機械学習エンジニアが ML ライフサイクル全体(トレーニング、テスト、デプロイ、MLOpsの管理)を一つのプラットフォームで管理するために設計されたクラウド・サービスです。Machine Learning Studio はグラフィカル・ユーザー・インターフェースを提供し、ユーザーが次の操作を行うことを可能にします: - カタログから興味のあるファウンデーション・モデルを探し、タスク、ライセンス、名前でフィルタリングします。カタログにまだ含まれていない新しいモデルをインポートすることも可能です。 - モデル・カードを確認して、詳細な説明とコードサンプルを見て、サンプル推論ウィジェットを使ってテストします。これは、サンプルプロンプトを提供して結果を試すものです。 @@ -148,17 +148,17 @@ LLM モデルには、さまざまな種類があり、どのモデルを選択 事前学習済みの LLM は、一般的な自然言語タスクとして、短いプロンプトで文章を作成するか、質問を作成して呼び出すことで、とてもうまく動作します。これを「ゼロショット」学習と言います。 -しかし、詳細なリクエストとサンプルを用いてクエリを記述するほど、つまり追加のコンテキストを提供すると、回答はより正確でユーザーの期待値に近いものになります。この場合、プロンプトに一つの例が含まれている場合は「ワンショット」学習、複数の例が含まれていると「フュー・ショット」学習と言います。コンテキストを用いたプロンプト・エンジニアリングは、始めにそして最もコスト効率の高いアプローチです。 +しかし、詳細なリクエストとサンプルを用いて問い合わせ内容を記述すると、つまり追加のコンテキストを提供すると、回答はより正確でユーザーの期待値に近いものになります。この場合、プロンプトに一つの例が含まれている場合は「ワンショット」学習、複数の例が含まれていると「フュー・ショット」学習と言います。コンテキストを用いたプロンプト・エンジニアリングは、始めに実施すべきで、そして最もコスト効率の高いアプローチです。 ### Retrieval Augmented Generation(RAG) -LLM は、トレーニング中に使用したデータだけを使って回答を作るという制約があります。これは、トレーニング・プロセス後に起きた事実や、非公開情報(例えば企業データ)については分からないということを意味します。RAG は、プロンプトの長さの制限を考慮しつつ、ドキュメントの断片という形で、外部データをプロンプトに追加する技術で、制約から逃れます。これは、ベクター・データベース・ツール([Azure Vector Search](https://learn.microsoft.com/azure/search/vector-search-overview?WT.mc_id=academic-105485-yoterada)など)を用いて、さまざまな定義済みのデータソースから有用な情報の断片を取得し、プロンプトのコンテキストに加えることで対応します。 +LLM は、トレーニング中に使用したデータだけを使って回答を作るという制約があります。これは、トレーニング・プロセス後に起きた事実や、非公開情報(例えば企業データ)については分からないということを意味しています。RAG は、プロンプトの長さの制限を考慮しつつ、ドキュメントの断片という形で、外部データをプロンプトに追加する技術で、上記の制約から逃れる事ができます。これは、ベクター・データベース・ツール([Azure Vector Search](https://learn.microsoft.com/azure/search/vector-search-overview?WT.mc_id=academic-105485-yoterada)など)を用いて、さまざまな定義済みのデータソースから有用な情報の断片を取得し、プロンプトのコンテキストに加えることで実現します。 -この技術は、LLM をファイン・チューニングするための十分なデータ、時間、リソースがない企業にとって非常に有用です。そして特定の負荷試験におけるパフォーマンスを向上させ、回答捏造のリスク、つまり現実の歪曲や有害なコンテンツのリスクを減らしたいと場合に非常に有効です。 +この技術は、LLM をファイン・チューニングするための十分なデータ、時間、リソースがない企業にとって非常に有用です。そして特定の負荷試験におけるパフォーマンスを向上させ、回答捏造のリスク、つまり現実の歪曲や有害なコンテンツのリスクを減らしたい場合に非常に有効です。 ### ファイン・チューニングしたモデルの利用 -ファイン・チューニングは、転移学習を活用してモデルを下流タスクに「適応」させたり、特定の問題を解決したりするプロセスです。フュー・ショット学習や、RAG とは異なり、更新した重みとバイアスを持つ新しいモデルを生成します。これには、プロンプト(入力)とそれに関連する出力(完成)からなるトレーニング・サンプルが必要です。このアプローチが好まれるのは以下のような場合です: +ファイン・チューニングは、転移学習を活用してモデルを下流タスクに「適応」させたり、特定の問題を解決するプロセスです。フュー・ショット学習や、RAG とは異なり、更新した重みとバイアスを持つ新しいモデルを生成します。これには、プロンプト(入力)とそれに関連する出力(完成)からなるトレーニング・サンプルが必要です。このアプローチが好まれるのは以下のような場合です: - **ファイン・チューニングしたモデルを使用する場合** 企業が高性能なモデルではなく、ファイン・チューニングした能力の低いモデル(埋め込みモデルなど)を使用し、よりコスト効率を高く、迅速なソリューション提供したいと考えている場合