diff --git a/01-introduction-to-genai/translations/ja-jp/README.md b/01-introduction-to-genai/translations/ja-jp/README.md index 4210d84ca..f8666f44e 100644 --- a/01-introduction-to-genai/translations/ja-jp/README.md +++ b/01-introduction-to-genai/translations/ja-jp/README.md @@ -5,7 +5,7 @@ > *(上記の画像をクリックすると、レッスン・ビデオを表示します)* 生成 AI は、テキストや画像などのコンテンツを生成する人工知能です。この技術が素晴らしいのは、AI を誰にでも使えるようにしている所で、自然言語で書いた文章やテキスト・プロンプトだけで利用できる点です。 -価値あることを成し遂げるために、Java や SQL のような言語を学ぶ必要はありません。自分の言葉で要望を伝えるだけで、AI モデルから提案が返ってきます。この技術を使えば、報告書を書いたり理解したり、アプリケーションを作成したりといったことが、わずか数秒で可能になります。その可能性と影響力は計り知れません。 +皆様にとって価値のある何らかの成果を出すために、Java や SQL のような言語を学ぶ必要はありません。自分の言葉で要望を伝えるだけで、AI モデルから提案が返ってきます。この技術を使えば、報告書を書いたり理解したり、アプリケーションの作成が、わずか数秒でできるようになります。その可能性と影響力は計り知れません。 このカリキュラムで、スタートアップ企業が教育分野で新たな可能性を切り開くために生成 AI をどのように利用しているか、またその応用に伴う社会的影響や、技術的な制限によって避けられない課題にどう対処しているかを詳しく見ていきます。 @@ -27,8 +27,8 @@ ## シナリオ: 教育関連事業をターゲットにするスタートアップ企業 -生成 AI は AI 技術の最高峰に位置付けられ、かつては不可能と思われていたことにも挑戦し、新たな可能性を広げています。 -生成 AI モデルは様々な機能と用途で利用可能ですが、このカリキュラムでは、架空のスタートアップ企業を通じて教育分野でどのように革新していくのかを学んでいきます。この新興企業を「スタートアップ」と呼ぶことにします。 +生成 AI は AI 技術の最高峰に位置付けられ、かつては不可能と思われていた領域にも挑戦し、新たな可能性を広げています。 +生成 AI モデルは様々な機能と用途で利用可能ですが、このカリキュラムでは、架空のスタートアップ企業を通じて教育分野でどのように革新していくのかを学んでいきます。この新興企業を「スタートアップ」と呼びます。 スタートアップは、教育の領域において下記の野心的な目標を持って事業を行っています。 > *世界規模で学習の利便性を高め、教育に対する平等な機会を実現し、学習者一人ひとりの要望に応える個別学習体験を提供します。* @@ -49,8 +49,8 @@ AI の歴史を振り返ると、初期の AI のプロトタイプは、タイ ### 統計学的手法を基にした AI 技術: 機械学習 -1990年代に入り、テキスト解析に統計学的手法を応用したことで、転換点が訪れました。 -これにより、データからパターンを学習する新しいアルゴリズムが開発されました。これは「機械学習」として知られ、学習にプログラミングを必要としませんでした。この手法を用いることで、機械は人間の言語理解を再現することが可能になります。テキストとラベルの組み合わせで訓練された統計モデルが、メッセージの意図を示す定義済みのラベルで、未知の入力テキストを分類することができるようになります。 +1990年代に入り、テキスト解析に統計学的手法を応用し、転換点が訪れました。 +これにより、データからパターンを学習する新しいアルゴリズムが開発されました。これは「機械学習」として知られ、学習にプログラミングを必要としませんでした。この手法により、機械は人間の言語理解を再現できるようになります。テキストとラベルの組み合わせで訓練された統計モデルが、メッセージの意図を示す定義済みのラベルで、未知の入力テキストを分類できるようになります。 ### ニューラルネットワーク(神経回路網)と最新の仮想アシスタント @@ -58,15 +58,15 @@ AI の歴史を振り返ると、初期の AI のプロトタイプは、タイ ニューラルネットワーク(特に再帰型ニューラルネットワーク - RNN と呼ばれる)は、自然言語処理を飛躍的に進化させ、文章中に含まれる単語の意味を、文脈を考慮して評価し、より有益な方法でテキストの意図を表現できるようになりました。 -この技術は、21 世紀の初頭に登場したバーチャル・アシスタントの基盤となり、人の言葉を読み取って要求を識別し、それに応じて行動を取ることができます。例えば、事前に用意したスクリプトで応答したり、外部サービスを利用することが含まれます。 +この技術は、21 世紀の初頭に登場したバーチャル・アシスタントの基盤となり、人の言葉を読み取って要求を識別し、それに応じて行動を取れるようになります。例えば、事前に用意したスクリプトで応答したり、外部サービスを利用する等が含まれます。 ### 現在の生成 AI -このような経緯を経て、今日における生成 AI が誕生しました。これはディープラーニングのサブセットとして捉えることができます。 +このような経緯を経て、今日における生成 AI が誕生しました。これはディープラーニングのサブセットとして考えられます。 ![AI, ML, DL and Generative AI](../../images/AI-diagram.png?WT.mc_id=academic-105485-yoterada) -長年の AI 研究を経て、*トランスフォーマー* と呼ばれる新しいモデルのアーキテクチャが登場し、RNN の限界を越え、より長文テキストのシーケンスを入力として受け取ることができるようになりました。トランスフォーマーは、アテンションメカニズム(注意機構)を採用しており、モデルが、受け取った入力に対して異なる重み付けを行うことができます。これにより、テキスト内の単語の並ぶ順番に関わらず、最も関連性の高い情報が集中している部分に「より多くの注意を払う」ことができます。 +長年の AI 研究を経て、*トランスフォーマー* と呼ばれる新しいモデルのアーキテクチャが登場し、RNN の限界を越え、より長文テキストのシーケンスを入力として受け取れるようになりました。トランスフォーマーは、アテンションメカニズム(注意機構)を採用しており、モデルが、受け取った入力に対して異なる重み付けを行います。これにより、テキスト内の単語の並ぶ順番に関わらず、最も関連性の高い情報が集中している部分に「より多くの注意を払う」ようになります。 最近の生成 AI モデルの多くは、文章の入出力を行う「大規模言語モデル(LLMs)」とも呼ばれており、実際にこのアーキテクチャに基づいています。これらのモデルが注目される理由は、書籍、記事、ウェブサイトなど様々な情報源から、膨大なラベルなしデータとして訓練されているにも関わらず、創造性を備え文法も正しい文章を作り出すのが特筆すべき点です。したがって、これらのモデルは、機械が入力されたテキストを「理解」する力を飛躍的に向上させただけでなく、人間の言葉で独自の回答を作り出す能力も実現しました。 @@ -78,7 +78,7 @@ AI の歴史を振り返ると、初期の AI のプロトタイプは、タイ ![トークン化の例](../../images/tokenizer-example.png?WT.mc_id=academic-105485-yoterada) -* **出力トークンの予測**: 入力として n 個のトークンを受け取ると(モデルによって n の最大値は異なります)、モデルは出力として 1 個のトークンを予測する力を持っています。この予測されたトークンは次の反復処理の入力に追加され、拡張ウィンドウ・パターンにより、ユーザーが 1 つ以上の文を回答として得られるようになります。これは、ChatGPT を試したことがある人なら、文の途中で時々処理が停止するような動きにつながる理由です。 +* **出力トークンの予測**: 入力として n 個のトークンを受け取ると(モデルによって n の最大値は異なります)、モデルは出力として 1 個のトークンを予測する力を持っています。この予測されたトークンは次の反復処理の入力に追加され、拡張ウィンドウ・パターンにより、ユーザーが 1 つ以上の文を回答として得られるようになります。これは、ChatGPT を試した時に、文の途中で時々処理が停止するような動きにつながる理由です。 * **選考過程、確率分布**: モデルは、現在のテキストの順番の後ろに続く文字を、確率的に可能性の高い結果に基づいて出力トークンを選びます。これは、モデルが過去の訓練に基づいて、「次に出現するトークン」の各選択肢についてどれだけの確率があるかを計算し、その全体の確率分布を推論しているからです。ただし、得られた分布から最も確率の高いトークンが必ず選ばれるとは限りません。この選択には、ある程度のランダム性が導入されており、モデルが決定的に振る舞わないようにしています。- つまり同じ入力に対して必ずしも同じ出力結果が得られるわけではありません。このランダム性は、創造的な思考過程を模倣するために導入され、温度(temperature)というパラメータで調整ができます。 @@ -86,12 +86,12 @@ AI の歴史を振り返ると、初期の AI のプロトタイプは、タイ 大規模言語モデルについて、内部動作の理解が深まったところで、ビジネス・シナリオも視野に入れて、大規模言語モデルをうまく活用するための、実践的な例をいくつか見てみましょう。 -大規模言語モデルが最も得意とするのは、自然言語で記述されたテキストの入力から、新しいテキストを作ることだと述べました。 +大規模言語モデルは、自然言語で記述した入力テキストから、新しいテキストを作る処理が最も得意です。 しかし、具体的にどのようなテキストの入力と出力を想定しているのでしょうか? 大規模言語モデルの入力は「プロンプト」と呼ばれ、出力は「コンプリーション」と呼ばれています。これは、モデルが現在の入力に続く次のトークンを生成する仕組みを表しています。これからプロンプトの意味や、モデルを最大限に活用するための設計方法について詳しく確認していきますが、とりあえず現時点では、プロンプトは以下のような要素が含まれるとお考えください: -* **プロンプト(指示)**:モデルに対して、期待する出力結果や、出力フォーマットの種類を指定する。この指示には、場合によっては具体例やその他のデータを追加で組み込むことができます。 +* **プロンプト(指示)**:モデルに対して、期待する出力結果や、出力フォーマットの種類を指定する。この指示には、場合によっては具体例やその他のデータを追加で埋め込めます。 1. 記事、書籍、製品レビューなどの要約と、非構造化データから知見(インサイト)の抽出 @@ -144,11 +144,11 @@ AI の歴史を振り返ると、初期の AI のプロトタイプは、タイ 上記に挙げた例は基本的なものであり、大規模言語モデルの機能を全て網羅したわけではありません。教育分野に限らず、生成 AI が持つ潜在的な可能性と利点を示しています。 -また、生成 AI モデルの出力結果は決して完璧ではなく、場合によってはモデルの創造性が逆効果となって、現実を曲解するような言葉を組み合わせたり、不快な言葉を組み合わせて作り出すこともあります。また、生成 AI は知能を持っているわけではありません。少なくとも、批判的思想や創造的な推理、感情を含む広い意味における知能はありません。そして決定論的でもなく、信頼性もありません。なぜなら、誤った参照や内容、声明などからの作り話が、正しい情報と混ざり合い、説得力のある自信に満ちた言葉で、結果が提示されることがあるからです。次のレッスンでは、これらすべての制限に対処し、それらを軽減するために何ができるかを見ていきます。 +また、生成 AI モデルの出力結果は決して完璧ではなく、場合によってはモデルの創造性が逆効果となって、現実を曲解するような言葉を組み合わせたり、不快な言葉を組み合わせて回答を作り出します。また、生成 AI は知能を持っているわけではありません。少なくとも、批判的思想や創造的な推理、感情を含む広い意味における知能はありません。そして決定論的でもなく、信頼性もありません。なぜなら、誤った参照や内容、声明などからの作り話が、正しい情報と混ざり合い、説得力のある自信に満ちた言葉で、結果が提示される場合もあるからです。次のレッスンでは、これらすべての制限に対処し、それらを軽減するために何ができるかを見ていきます。 ## 課題 -この課題では、「生成 AI」に関する知識を深め、まだ生成 AI が導入されていない領域を特定し、そこにどう取り込めるかを検討してください。従来の方法と比べて、どのような違いがあるでしょうか?これまでにできなかったことが、実現可能になるか、作業の速度が上がるかをご検討ください。「問題点」「AIの活用方法」「導入による効果」といった見出しを用いて、皆様がこれから創業する理想の AI スタートアップを 300 文字でまとめてください。可能であれば、ビジネスプランも記述してください。 +この課題では、「生成 AI」に関する知識を深め、まだ生成 AI が導入されていない領域を特定し、そこにどう取り込めるかを検討してください。従来の方法と比べて、どのような違いがあるでしょうか?これまでにできなかった処理が、実現可能になるか、作業の速度が上がるかをご検討ください。「問題点」「AIの活用方法」「導入による効果」といった見出しを用いて、皆様がこれから創業する理想の AI スタートアップを 300 文字でまとめてください。可能であれば、ビジネスプランも記述してください。 この課題を達成すれば、マイクロソフトのスタートアップ用インキュベータープログラム、[Microsoft for Startups Founders Hub](https://www.microsoft.com/startups?WT.mc_id=academic-105485-yoterada) への応募資格が得られるかもしれません。Azure や OpenAI の使用クレジット、メンタリング、その他多くの支援を提供していますので、詳細はウェブサイトをご覧ください。 @@ -160,7 +160,7 @@ AI の歴史を振り返ると、初期の AI のプロトタイプは、タイ 1. 物事を完璧に行い、計算をしたり、正しく動作するコードを生成するのに最適です 1. 同じプロンプトを使用しても、回答が異なる場合があります。また、テキストやコードなど最初に何らかのヒントを得るために利用するのには最適です。しかし、得られた結果は改善する必要があります。 -A: 3, 大規模言語モデル(LLM)は決定的ではなく、出力結果にはばらつきがありますが、温度設定を調整することで、ばらつきを制御することが可能です。完璧な結果を期待するべきではありません。LLM は皆様の負担を軽減するために存在し、物事を始める際に最初の良い出発点を提供します。 ただ多くの場合、段階的に改善していく必要があるでしょう。 +A: 3, 大規模言語モデル(LLM)は決定的ではなく、出力結果にはばらつきがありますが、温度設定を調整し、ばらつきを制御できます。完璧な結果を期待するべきではありません。LLM は皆様の負担を軽減するために存在し、物事を始める際に最初の良い出発点を提供します。 ただ多くの場合、段階的に改善していく必要があるでしょう。 ## お疲れ様でした! 次のレッスンを続ける 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 2174e24d1..213e0ab24 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 @@ -4,9 +4,9 @@ > *(上記の画像をクリックすると、レッスン・ビデオを表示します)* -前回のレッスンで、生成 AI がどのようにして進化し、大規模言語モデル(LLM)がどのように機能するのか、そしてスタートアップがそれらを自分たちの目的に対して、どのように適用し成長させることができるかを見てきました。この章では、様々な大規模言語モデル(LLM)を比較し、それぞれの利点と欠点を理解していきます。 +前回のレッスンで、生成 AI がどのようにして進化し、大規模言語モデル(LLM)がどのように機能するのか、そしてスタートアップがそれらを自分たちの目的に対して、どのように適用し成長できるかを見てきました。この章では、様々な大規模言語モデル(LLM)を比較し、それぞれの利点と欠点を理解していきます。 -スタートアップが次に進むべきステップは、大規模言語モデル(LLM)の現在の状況を調査し、自社のニーズに適したものが何かを理解することです。 +スタートアップは次に、大規模言語モデル(LLM)の最新状況を調査し、自社のニーズに適したモデルが何かを検討する段階に移りました。 ## はじめに @@ -26,7 +26,7 @@ ## 大規模言語モデル(LLM)の様々な種類の理解 -大規模言語モデル(LLM)は、そのアーキテクチャ、トレーニングデータ、用途に応じて、様々なカテゴリに分類することができます。これらの違いを理解することは、スタートアップがシナリオに応じて最適なモデルを選択し、そのパフォーマンスをテストし、反復し、改善する方法を理解するのに役立ちます。 +大規模言語モデル(LLM)は、そのアーキテクチャ、トレーニングデータ、用途に応じて、様々なカテゴリに分類できます。こうした各モデルの把握は、スタートアップがシナリオに応じて最適なモデルを選択し、パフォーマンスのテストを行い、反復しながら改善するのに役立ちます。 LLM モデルには、さまざまな種類があり、どのモデルを選択するかは、それらを使用する目的、扱うデータ、ご利用可能な金額などによって異なります。 @@ -38,7 +38,7 @@ LLM モデルには、さまざまな種類があり、どのモデルを選択 - **テキスト生成**。多くのモデルがテキスト生成用にトレーニングされており、GPT-3.5 から GPT-4 に至るまで、多種多様な選択肢があります。それぞれ利用する際のコストは異なり、GPT-4 が最も高価です。機能とコストの観点から、ニーズに最も適したモデルを選択するために、[Azure OpenAI プレイグラウンド](https://oai.azure.com/portal/playground?WT.mc_id=academic-105485-yoterada)をご確認ください。 -モデルを選択するということは、基本的な機能を手に入れ利用できることを意味しますが、それだけでは不十分な場合もあります。通常、会社固有のデータを何らかの方法で LLM に伝えなければならない状況もあります。その方法はいくつかの選択肢がありますが、それについては後続のセクションで詳しく説明します。 +モデルを選択すると、基本的な機能を手に入れ、モデルを利用できるようになっていますが、それだけでは不十分な場合もあります。通常、会社固有のデータを何らかの方法で LLM に伝えなければならない場合もあります。その方法はいくつかの選択肢がありますが、それについては後続のセクションで詳しく説明します。 ### ファウンデーション・モデルと LLM の比較 @@ -46,7 +46,7 @@ LLM モデルには、さまざまな種類があり、どのモデルを選択 - **教師なし学習、または自己教師あり学習でトレーニング** ラベルのないマルチモーダル・データを用いてトレーニングし、トレーニング・プロセス中、人間によるデータの注釈やラベル付けは不要です - **非常に大規模なモデル**。数十億のパラメーターを用いてトレーニングされたディープ・ニューラル・ネットワークに基づいています -- **通常、他のモデルの「基盤」として機能** ファイン・チューニングを行うことで、他のモデルを構築する際の出発点(基盤)として使用できます +- **通常、他のモデルの「基盤」として機能** ファイン・チューニングを行い、他のモデルを構築する際の基盤として使用できます ![ファウンデーション・モデルと LLM](../../images/FoundationModel.png?WT.mc_id=academic-105485-yoterada) @@ -62,9 +62,9 @@ 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) と画像生成とテキスト・コード生成 @@ -74,7 +74,7 @@ LLM モデルには、さまざまな種類があり、どのモデルを選択 ![Embedding](../../images/Embedding.png?WT.mc_id=academic-105485-yoterada) -画像生成モデルは、画像を生成するモデルです。これらのモデルは、画像編集、画像合成、画像変換で頻繁に利用されます。画像生成モデルは、[LAION-5B](https://laion.ai/blog/laion-5b/?WT.mc_id=academic-105485-yoterada) などの大規模な画像データセットでトレーニングされることが多く、新しい画像を生成したり、画像修復、高解像度化、色付け技術を用いて既存の画像を編集する際に利用できます。[DALL-E-3](https://openai.com/dall-e-3?WT.mc_id=academic-105485-yoterada) や [Stable Diffusion models](https://github.com/Stability-AI/StableDiffusion?WT.mc_id=academic-105485-yoterada) といったモデルがあります。 +画像生成モデルは、画像を生成するモデルです。これらのモデルは、画像編集、画像合成、画像変換で頻繁に利用されます。画像生成モデルは、[LAION-5B](https://laion.ai/blog/laion-5b/?WT.mc_id=academic-105485-yoterada) などの大規模な画像データセットでトレーニングするのが多く、新しい画像を生成したり、画像修復、高解像度化、色付け技術を用いて既存の画像を編集する際に利用できます。[DALL-E-3](https://openai.com/dall-e-3?WT.mc_id=academic-105485-yoterada) や [Stable Diffusion models](https://github.com/Stability-AI/StableDiffusion?WT.mc_id=academic-105485-yoterada) といったモデルがあります。 ![Image generation](../../images/Image.png?WT.mc_id=academic-105485-yoterada) @@ -85,29 +85,29 @@ LLM モデルには、さまざまな種類があり、どのモデルを選択 大規模言語モデル (LLM) のアーキテクチャの種類の違いについて解説するため、下記の例え話しを使います。 -上司から、学生用のクイズを作成する仕事を任されたことを想像してください。あなたには 2 人の同僚がいて、1 人はコンテンツの作成を担当し、もう 1 人はそれをレビューする役割を担います。 +上司から、学生用のクイズを作成する仕事を任されたのを想像してください。あなたには 2 人の同僚がいて、1 人はコンテンツの作成を担当し、もう 1 人はそれをレビューする役割を担います。 コンテンツを作成する人は「デコーダーのみ」のモデルに似ています。コンテンツ作成者は、トピックを見て、既に書いた内容を参考に、それに基づいてコンテンツを作成します。コンテンツ作成者は、魅力的で情報豊かなコンテンツを作成するのが得意ですが、トピックや学習目標を理解するのは得意ではありません。「デコーダーのみ」のモデルの例には、GPT-3 などの GPT ファミリーのモデルがあります。 一方で、レビューを担当する人は「エンコーダーのみ」のモデルに似ています。レビュー担当者は書かれたコンテンツと回答を見て、それらの関係を把握し、文脈を理解しますが、コンテンツを作成するのは得意ではありません。「エンコーダーのみ」のモデルの例には、BERT があります。 -クイズを作成し、それをレビューする同一人物がいることを想像してみてください。これが「エンコーダー・デコーダー」モデルです。BARTやT5などが例として挙げられます。 +クイズを作成し、それをレビューする同一人物がいるのを想像してみてください。これが「エンコーダー・デコーダー」モデルです。BARTやT5などが例として挙げられます。 ### サービスとモデル サービスとモデルの違いについて説明します。サービスはクラウド・サービス・プロバイダーが提供する製品で、モデル、データ、その他のコンポーネントを組み合わせたものです。モデルはサービスの核となる部分で、大規模言語モデル (LLM) のようなファウンデーション・モデルが一般的です。 -サービスは、本番環境での利用に最適化されており、グラフィカル・ユーザー・インターフェースを通じてモデルよりも使いやすいことが多いです。しかしサービスは、常に無料で利用できるわけではなく、サービス提供者の機器やリソースを活用する代わりに、サブスクリプションや支払いが必要な場合があります。これにより、費用を最適化し、簡単にスケールアップできます。サービスの例としては、使用量に応じて料金が発生する [Azure OpenAI Service](https://learn.microsoft.com/azure/ai-services/openai/overview?WT.mc_id=academic-105485-yoterada) があります。また、Azure OpenAI サービスは、モデルの能力に加えて、エンタープライズグレードのセキュリティと責任あるAIフレームワークを提供します。 +サービスは、本番環境での利用に最適化されており、グラフィカル・ユーザー・インターフェースを通じて、直接モデルを操作するのに比べ扱いやすいです。しかしサービスは、常に無料で利用できるわけではなく、サービス提供者の機器やリソースを活用する代わりに、サブスクリプションや支払いが必要な場合があります。これにより、費用を最適化し、簡単にスケールアップできます。サービスの例としては、使用量に応じて料金が発生する [Azure OpenAI Service](https://learn.microsoft.com/azure/ai-services/openai/overview?WT.mc_id=academic-105485-yoterada) があります。また、Azure OpenAI サービスは、モデルの能力に加えて、エンタープライズグレードのセキュリティと責任あるAIフレームワークを提供します。 -モデルは、パラメーターや重みなどを含むニューラルネットワークそのものです。企業がローカルで運用することも可能ですが、そのためには機器の購入、スケールアップのための環境構築、ライセンスの購入、またはオープンソース・モデルの使用が必要になります。LLaMAのようなモデルは利用可能ですが、モデルを実行するための計算能力が必要です。 +モデルは、パラメーターや重みなどを含むニューラルネットワークそのものです。企業はローカルでの運用も可能ですが、そのためには機器の購入、スケールアップのための環境構築、ライセンスの購入、またはオープンソース・モデルの使用が必要になります。LLaMAのようなモデルは利用可能ですが、モデルを実行するための計算能力が必要です。 ## 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)で利用可能です。 -[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 はグラフィカル・ユーザー・インターフェースを提供し、ユーザーは下記の操作を行えます: -- カタログから興味のあるファウンデーション・モデルを探し、タスク、ライセンス、名前でフィルタリングします。カタログにまだ含まれていない新しいモデルをインポートすることも可能です。 +- カタログから興味のあるファウンデーション・モデルを探し、タスク、ライセンス、名前でフィルタリングします。カタログにまだ含まれていない新しいモデルもインポートできます。 - モデル・カードを確認して、詳細な説明とコードサンプルを見て、サンプル推論ウィジェットを使ってテストします。これは、サンプルプロンプトを提供して結果を試すものです。 ![Model card](../../images/Llama1.png?WT.mc_id=academic-105485-yoterada) @@ -128,15 +128,15 @@ LLM モデルには、さまざまな種類があり、どのモデルを選択 スタートアップ・チームは、さまざまな種類の大規模言語モデル (LLM) とクラウド・プラットフォーム(Azure Machine Learning)を理解し、異なるモデルを比較し、テストデータで評価し、パフォーマンスを向上させ、推論エンドポイントにデプロイする方法を検討しました。 -しかし、事前トレーニングされたモデルを使用するのではなく、モデルをファイン・チューニングすることを検討すべきタイミングはいつでしょうか?特定の負荷試験でモデルのパフォーマンスを向上させる他のアプローチはあるのでしょうか? +しかし、事前トレーニングされたモデルを使用するのではなく、モデルをファイン・チューニングするのを検討すべきタイミングはいつでしょうか?特定の負荷試験でモデルのパフォーマンスを向上させる他のアプローチはあるのでしょうか? 企業が LLM から必要な結果を得るためには、トレーニング程度の異なる様々な種類のモデルを選択するなど、いくつかのアプローチがあります。 -異なるレベルの複雑さ、コスト、品質で LLM を本番環境にデプロイすることができます。以下に、いくつかの異なるアプローチを紹介します。 +異なるレベルの複雑さ、コスト、品質で LLM を本番環境にデプロイできます。以下に、いくつかの異なるアプローチを紹介します。 -- **コンテキストを用いたプロンプトエンジニアリング** プロンプトを記述する際に十分なコンテキストを提供し、必要な応答を得ることが狙いです。 +- **コンテキストを用いたプロンプトエンジニアリング** プロンプトを記述する際に十分なコンテキストを提供し、必要な回答を得るのが狙いです。 -- **Retrieval Augmented Generation(RAG)** 例えば、データがデータベースや Web 上に存在する場合、プロンプトの記述時に、それらのデータや一部を含めるために、関連データを取得し、プロンプトの一部にすることができます。 +- **Retrieval Augmented Generation(RAG)** 例えば、データがデータベースや Web 上に存在する場合、プロンプトの記述時に、それらのデータや一部を含めるために、関連データを取得し、プロンプトの一部にできます。 - **ファイン・チューニングしたモデル** 自分のデータを利用してモデルをさらにトレーニングし、モデルをより正確に、そしてニーズに応じた形にします。ただし、コストがかかる可能性があります。 @@ -146,15 +146,15 @@ LLM モデルには、さまざまな種類があり、どのモデルを選択 ### コンテキストを用いたプロンプトエンジニアリング -事前学習済みの 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 と呼ぶ技術で対応できます。RAG は、Vector データベース ([Azure AI Search](https://learn.microsoft.com/azure/search/vector-search-overview?WT.mc_id=academic-105485-yoterada) など)でサポートされており、さまざまな定義済みのデータ・ソースから有用なドキュメントの一部を取得し、プロンプトのコンテキスト(文脈)に含めて、より正確な回答を得られるようになります。 -この技術は、LLM をファイン・チューニングするための十分なデータ、時間、リソースがない企業にとって非常に有用です。そして特定の負荷試験におけるパフォーマンスを向上させ、回答捏造のリスク、つまり現実の歪曲や有害なコンテンツのリスクを減らしたい場合に非常に有効です。 +この技術は、LLM をファイン・チューニングするための十分なデータや、時間、リソースがない企業にとって非常に有用です。そして特定の負荷試験におけるパフォーマンスを向上させ、回答の捏造リスク、つまり現実の歪曲や有害なコンテンツのリスクを減らしたい場合に非常に有効です。 ### ファイン・チューニングしたモデルの利用 @@ -162,13 +162,13 @@ LLM は、トレーニング中に使用したデータだけを使って回 - **ファイン・チューニングしたモデルを使用する場合** 企業が高性能なモデルではなく、ファイン・チューニングした能力の低いモデル(埋め込みモデルなど)を使用し、よりコスト効率を高く、迅速なソリューション提供したいと考えている場合 -- **レイテンシーを考慮する場合** 特定の用途でレイテンシーが重要で、とても長いプロンプトを使用することができない、またはモデルから学習するサンプル数がプロンプトの長さ制限に合わない場合 +- **レイテンシーを考慮する場合** 特定の用途でレイテンシーが重要で、とても長いプロンプトを使用できない、またはモデルから学習するサンプル数がプロンプトの長さ制限に合わない場合 - **最新の状態を維持する場合** 企業が高品質のデータと正確なラベルを多く持ち、これらのデータを時間をかけて最新の状態に保つためにリソースを持っている場合 ### トレーニング済みモデル -LLM をゼロからトレーニングすることは、間違いなく最も困難で最も複雑なアプローチです。膨大なデータ、熟練したリソース、適切な計算能力が必要です。このオプションは、ビジネスがドメイン固有のユースケースと大量のドメイン中心のデータを持っている場合にのみ検討すべきです。 +LLM をゼロからトレーニングするのは、間違いなく最も困難で最も複雑なアプローチです。膨大なデータ、熟練したリソース、適切な計算能力が必要です。このオプションは、ビジネスがドメイン固有のユースケースと大量のドメイン中心のデータを持っている場合にのみ検討すべきです。 ## 知識チェック diff --git a/03-using-generative-ai-responsibly/translations/ja-jp/README.md b/03-using-generative-ai-responsibly/translations/ja-jp/README.md index e76d30928..e9d258111 100644 --- a/03-using-generative-ai-responsibly/translations/ja-jp/README.md +++ b/03-using-generative-ai-responsibly/translations/ja-jp/README.md @@ -4,7 +4,7 @@ > **ビデオは近日公開予定** -AI、特に生成 AI に強い興味は抱くことは理解できますが、それをどのように責任を持って利用するかについて、十分に考慮する必要があります。例えば、出力結果が公平で有害でないことを保証するなど、多くの点を考慮すべきです。本章は、上記の背景や考慮すべき点、そして AI をより有効活用するための具体的な行動指針を、皆様にお届けします。 +AI、特に生成 AI に強い興味は抱くのは理解できますが、それをどのように責任を持って利用するかについて、十分に考慮する必要があります。例えば、出力結果が公平で有害でないのを保証するなど、多くの点を考慮すべきです。本章は、上記の背景や考慮すべき点、そして AI をより有効活用するための具体的な行動指針を、皆様にお届けします。 ## はじめに @@ -24,7 +24,7 @@ AI、特に生成 AI に強い興味は抱くことは理解できますが、 ## 責任ある AI の原則 -生成 AI に対する興味は、今までにないほど高まっています。この盛り上がりは、新たな開発者や関心、資金をこの業界にもたらしています。これは、生成 AI を使用して新しい製品や、新しい企業を創業する人々にとって非常に好意的な状況ですが、同時に責任を持って進めることも重要です。 +生成 AI に対する興味は、今までにないほど高まっています。この盛り上がりは、新たな開発者や関心、資金をこの業界にもたらしています。これは、生成 AI を使用して新しい製品や、新しい企業を創業する人々にとって非常に好意的な状況ですが、同時に責任を持って進めるのも重要です。 このコースでは、スタートアップが AI を利用した教育製品の実装に焦点を当てます。公平性、包括性、信頼性・安全性、セキュリティ・プライバシー、透明性、説明責任といった責任ある AI の原則に基づいて、これらが製品における生成 AI の活用と、どのように関連していくのかについて考えます。 @@ -32,7 +32,7 @@ AI、特に生成 AI に強い興味は抱くことは理解できますが、 製品開発時、「利用者の利益を最優先に考える顧客中心のアプローチ」で進めると、最良の結果が得られます。 -生成 AI は、利用者に役立つ回答、情報、ガイダンス、コンテンツを生成する力があります。こうした作業の多くは手作業を必要とせずに実行でき、それによって非常に素晴らしい成果を生み出せます。しかし、適切な計画と戦略がなければ、残念ながら利用者、製品、そして社会全体に有害な結果をもたらすこともあります。 +生成 AI は、利用者に役立つ回答、情報、ガイダンス、コンテンツを生成する力があります。こうした作業の多くは手作業を必要とせずに実行でき、それによって非常に素晴らしい成果を生み出せます。しかし、適切な計画と戦略がなければ、残念ながら利用者、製品、そして社会全体に有害な結果をもたらす場合もあります。 下記で、潜在的に害を及ぼす可能性のある例(全てではありませんが)を確認しましょう: @@ -55,7 +55,7 @@ AI、特に生成 AI に強い興味は抱くことは理解できますが、 > *(Source: [Flying bisons](https://flyingbisons.com?WT.mc_id=academic-105485-yoterada))* -これはとても自信に満ちて、詳細な回答結果です。しかし残念ながら、この回答は間違っています。調べれば、タイタニック号の生存者は複数人いたことがわかります。この課題研究を始めたばかりの学生にとって、この回答は疑う余地なく事実として受け入れられるほど説得力があります。このような結果から、AI のシステムを信頼できなくなり、さらにはスタートアップ企業の評判にも悪影響を及ぼす可能性があります。 +これはとても自信に満ちて、詳細な回答結果です。しかし残念ながら、この回答は間違っています。タイタニック号の生存者は複数名いたという事実が、調査結果から判明しています。一方で、この課題研究を始めたばかりの学生にとって、この回答は疑う余地のないほど、そして事実として受け入れられるほどの説得力があります。このような間違えた回答をする結果から、学生は AI のシステムを信頼できなくなり、さらにはスタートアップ企業の評判にも悪影響を及ぼす可能性があります。 LLM のバージョンを更新するごとに、幻覚を減らす方向でパフォーマンス改善がはかられています。ただ、この改善があったとしても、アプリケーションの開発者やユーザーは、こうした回答捏造の問題を意識する必要があります。 @@ -75,9 +75,9 @@ LLM のバージョンを更新するごとに、幻覚を減らす方向でパ ### 公平性の欠如 -公平性とは、「AI システムが偏見や差別を持たず、全人類を公平かつ平等に扱うこと」を意味します。生成 AI の世界では、マイノリティ・グループの排他的な世界観が、モデルの出力で再強化されないように注意しなければなりません。 +公平性とは、「AI システムがいかなる偏見や差別も抱かず、全人類に対して公平かつ平等にサービスを提供している状況」を指します。生成 AI の世界では、マイノリティ・グループの排他的な世界観が、モデルで再強化されないように注意しなければなりません。 -このような公平性が欠如した出力は、利用者にとって好意的な製品体験を妨げるだけでなく、社会的な損害をさらに引き起こします。アプリケーション開発者として、生成 AI を用いたソリューションを開発する際には、常に多種多様な利用者層を意識することが重要です。 +このような公平性が欠如した出力は、利用者にとって好意的な製品体験を妨げるだけでなく、社会的な損害をさらに引き起こします。アプリケーション開発者は、生成 AI を活用したソリューションを作る際、多様な利用者層を考慮する必要があります。 ## 責任ある生成 AI の使用方法 @@ -97,40 +97,40 @@ AI モデルとその出力によって引き起こされる、潜在的な問 ![Mitigation Layers](../../images/mitigation-layers.png?WT.mc_id=academic-105485-yoterada) -- **AI モデル** 用途に適したモデルを選択します。GPT-4 のように大きくて複雑なモデルを、より小規模で特定の用途に使う場合、有害な内容を引き起こす可能性がありリスクが高まります。独自のトレーニング・データを使ってモデルをファイン・チューニングすることで、有害なコンテンツのリスクを減らすこともできます。 +- **AI モデル** 用途に適したモデルを選択します。GPT-4 のように大きくて複雑なモデルを、より小規模で特定の用途に使う場合、有害な内容を引き起こす可能性がありリスクが高まります。独自のトレーニング・データを使ってモデルをファイン・チューニングし、有害コンテンツのリスクを減らせます。 - **安全システム** 安全システムとは、モデルを提供するプラットフォーム上で危害を軽減するために使用する設定やツールです。例えば、Azure OpenAI サービスのコンテンツ・フィルタリング・システムがあります。システムはボットにおける、脱獄攻撃 (Jailbreak) や、望ましくない活動などのリクエストも検出すべきです。 -- **メタ・プロンプト** メタ・プロンプトやグラウンディングといった手法を使って、モデルの行動や情報を特定の方向に誘導したり制限することができます。これはシステム入力を使って、モデルに対して特定の制限を定義します。また、システムのスコープや領域に合った、より適切な結果を出力することもできます。 +- **メタ・プロンプト** メタ・プロンプトやグラウンディングといった手法を使って、モデルの行動や情報を特定の方向に誘導したり制限できます。これはシステム入力を使って、モデルに対して特定の制限を定義します。また、システムのスコープや領域に合った、より適切な結果も出力できます。 > 訳者追記: > グラウンディングの詳細は、[こちらの記事](https://techcommunity.microsoft.com/t5/fasttrack-for-azure/grounding-llms/ba-p/3843857?WT.mc_id=academic-105485-yoterada)をご参照ください。 - Retrieval Augmented Generation(RAG)のような技術を使って、モデルが信頼できる情報源からのみ情報を引き出すようにすることもできます。このコースの後半で、検索アプリケーションの構築に関するレッスンもあります。 + 信頼性のある情報源のデータだけをモデルが利用するように、Retrieval Augmented Generation(RAG)のような技術を使用できます。このコースの後半で、検索アプリケーションの構築に関するレッスンもあります。 -- **ユーザー・エクスペリエンス** 最後のレイヤーは、ユーザ・インターフェースです。利用者はどのような形であれ、アプリケーションが提供するインターフェイスを利用してモデルとやりとりを行います。このように UI/UX を設計し、モデルに送信する入力の種類やユーザーで表示されるテキストや画像を制限することができます。AI アプリケーションをデプロイする際、生成 AI アプリケーションができることと、できないことについて透明性を持って伝える必要があります。 +- **ユーザー・エクスペリエンス** 最後のレイヤーは、ユーザ・インターフェースです。利用者はどのような形であれ、アプリケーションが提供するインターフェイスを利用してモデルとやりとりを行います。このように UI/UX を設計し、モデルに送信する入力の種類やユーザーで表示されるテキストや画像を制限できます。AI アプリケーションをデプロイする際、生成 AI アプリケーションでできる処理と、できない処理について透明性を持って伝える必要があります。 本レッスンの最終章に「[12. AI アプリケーションの UX デザイン](../../../12-designing-ux-for-ai-applications/translations/ja-jp/README.md?WT.mc_id=academic-105485-yoterada)」に特化したレッスンがあります。 -- **モデルを評価** 大規模言語モデル(LLMs)は、そのモデルがどのようなデータを使って学習されたのかを完全に把握することができないため、扱うのが難しい場合があります。それでもなお、モデルの性能や出力は常に検証すべきです。特に出力の正確性、類似性、根拠の正しさ、関連性を評価することは重要です。これにより、利害関係者や利用者に透明性と信頼性を提供することができます。 +- **モデルを評価** 大規模言語モデル(LLMs)は、そのモデルがどのようなデータを使って学習されたのかを完全に把握できないため、扱うのが難しい場合があります。それでもなお、モデルの性能や出力は常に検証すべきです。特に出力の正確性、類似性、根拠の正しさ、関連性の評価は重要です。これにより、利害関係者や利用者に透明性と信頼性を提供できます。 ### 責任ある生成 AI ソリューションを運用する -本番環境用の AI アプリケーションを構築する最終段階に入りました。これには、スタートアップの法務部門やセキュリティ部門など他部署と協力し、全ての規制方針に準拠しているか確認することが含まれます。サービスのローンチ前には、デリバリー計画、問題発生時の対応、不具合が発生した際に元に戻すロールバック手順を作り、利用者に被害が及ばないように戦略を練りたいと思います。 +本番環境用の AI アプリケーションを構築する最終段階に入りました。スタートアップにおいては、法務部門やセキュリティ部門との協力を通じて、全ての規制方針を遵守しているかを確認する作業も含まれます。サービスのローンチ前には、デリバリー計画、問題発生時の対応、不具合が発生した際に元に戻すロールバック手順を作り、利用者に被害が及ばないように戦略を練りたいと思います。 ## ツール -責任ある AI ソリューションを開発する作業は、手間がかかるように感じられるかもしれません。しかし、その労力に見合う価値があります。生成 AI のビジネスが進化するに連れて、開発作業中に責任ある AI を効率的に取り入れられるツールが、より充実していくでしょう。例えば、[Azure AI Content Safety](https://learn.microsoft.com/azure/ai-services/content-safety/overview?WT.mc_id=academic-105485-yoterada) は、API を呼び出すことで有害なコンテンツや画像を検出するのに役立ちます。 +責任ある AI ソリューションを開発する作業は、手間がかかるように感じられるかもしれません。しかし、その労力に見合う価値があります。生成 AI のビジネスが進化するに連れて、開発作業中に責任ある AI を効率的に取り入れられるツールが、より充実していくでしょう。例えば、[Azure AI Content Safety](https://learn.microsoft.com/azure/ai-services/content-safety/overview?WT.mc_id=academic-105485-yoterada) は、API を呼び出す際に有害なコンテンツや画像を検出するのに役立ちます。 ## 知識チェック 責任ある AI の利用を確実にするために、どのような点に考慮する必要があるのでしょうか? -1. 回答が正しいこと。 -2. AI が悪用されたり犯罪目的で利用されないように注意すること -3. AI が偏りや差別的な内容を含まないようにすること +1. 常に回答が正しい +2. AI が悪用されたり犯罪目的で利用されないように注意する +3. AI が偏りや差別的な内容を含まないようにする -A: 2 と 3 が正解です。責任ある AI を使用することで、害を及ぼす可能性のある影響や偏見をどのように緩和できるか、さらにその他のさまざまな問題について考える手助けにもなります。 +A: 2 と 3 が正解です。責任ある AI を導入し、害を及ぼす可能性のある影響や偏見をどのように緩和できるか、さらにその他のさまざまな問題について考える手助けにもなります。 ## 🚀 Challenge diff --git a/04-prompt-engineering-fundamentals/translations/ja-jp/README.md b/04-prompt-engineering-fundamentals/translations/ja-jp/README.md index bcc50737d..09dfc35be 100644 --- a/04-prompt-engineering-fundamentals/translations/ja-jp/README.md +++ b/04-prompt-engineering-fundamentals/translations/ja-jp/README.md @@ -2,7 +2,7 @@ [![Prompt Engineering Fundamentals](../../images/04-lesson-banner.png?WT.mc_id=academic-105485-yoterada)](https://youtu.be/r2ItK3UMVTk?WT.mc_id=academic-105485-yoterada) -大規模言語モデル (LLM) では、プロンプトの書き方がとても重要で、慎重に作成したプロンプトは、そうでないものに比べ良い結果をもたらします。しかし、プロンプトやプロンプト・エンジニアリングとは一体どういう物なのでしょうか?また、LLM に送信する内容をどのようにして改善すればいいのでしょうか?この章と次の章では、そうした疑問に答えることを目指しています。 +大規模言語モデル (LLM) では、プロンプトの書き方がとても重要で、慎重に作成したプロンプトは、そうでないものに比べ良い結果をもたらします。しかし、プロンプトやプロンプト・エンジニアリングとは一体どういう物なのでしょうか?また、LLM に送信する内容をどのようにして改善すればいいのでしょうか?この章と次の章では、そうした疑問に答えたいと思います。 _生成 AI_ は、ユーザーからの依頼に対して、テキスト、画像、オーディオ、コード等の新しいコンテンツを生み出す能力を有しています。これを実現するために、OpenAI の GPT(Generative Pre-trained Transformer)シリーズのような、自然言語とコードの使用目的でトレーニングされた _大規模言語モデル(LLM)_ を利用します。 @@ -21,28 +21,28 @@ _生成 AI_ は、ユーザーからの依頼に対して、テキスト、画 3. プロンプト・エンジニアリングのベストプラクティスと技術を習得する 4. OpenAI のエンドポイントにアクセスし、学んだテクニックを実際に試す -プロンプト・エンジニアリングは現在、科学というよりは、むしろ芸術に近いものです。これに対する感覚を高めるには、_より多くの練習_ を積み重ね、アプリケーション専門知識で推奨される技術や、モデル固有の最適化を組み合わせた、試行錯誤の方法を取り入れることが重要です。 +プロンプト・エンジニアリングは現在、科学というよりは、むしろ芸術に近いものです。これに対する感覚を高めるには、_より多くの練習_ を積み重ね、アプリケーション専門知識で推奨される技術や、モデル固有の最適化を組み合わせた、試行錯誤による検証が重要です。 ## サンドボックス (Sandbox) とは -このレッスンに付随する Jupyter ノートブックは、学んだ内容を実際に試すことができる _サンドボックス_ 環境を提供します。レッスン中、もしくは最終的なコードチャレンジで利用できます。演習を行うためには、下記が必要です: +このレッスンに付随する Jupyter ノートブックは、学んだ内容を実際に試せる _サンドボックス_ 環境を提供します。レッスン中、もしくは最終的なコードチャレンジで利用できます。演習を行うためには、下記が必要です: 1. OpenAI API キー - デプロイした大規模言語モデル(LLM)のサービスエンドポイント 2. Python の実行環境 - ノートブックを実行する環境 -このリポジトリは、_.devcontainer_ ディレクトリ配下の設定ファイルで Python 3 の実行環境を含むコンテナ・イメージを提供しています。GitHub Codespaces、もしくは Docker Desktop をインストールしたご自身のローカル環境でリポジトリを開くことで、コンテナ・イメージが自動的に起動します。その後、ノートブックを開いて Python 3.x カーネルを選択することで、実行するノートブックを準備できます。 +このリポジトリは、_.devcontainer_ ディレクトリ配下の設定ファイルで Python 3 の実行環境を含むコンテナ・イメージを提供しています。GitHub Codespaces、もしくは Docker Desktop をインストールしたご自身のローカル環境でリポジトリを開き、コンテナ・イメージを自動的に起動します。その後、ノートブックを開いて Python 3.x カーネルを選択すると、実行するノートブックを準備できます。 デフォルトで用意されているノートブックは、OpenAI の API キーを利用する設定になっています。フォルダのルート・ディレクトリにある`.env.copy`を`.env`にリネームし、`OPENAI_API_KEY=`の行に API キーを入力するだけで、準備が完了します。 -このノートブックには基本的な演習が用意されていますが、より多くのサンプルやアイディアを試すために、ご自身で _Markdown_(説明文)や _Code_(プロンプトのリクエスト)のセクションを追加することができます。これにより、プロンプト・デザインに対する感覚をより養うことができます。 +このノートブックには基本的な演習が用意されていますが、より多くのサンプルやアイディアを試すために、ご自身で _Markdown_(説明文)や _Code_(プロンプトのリクエスト)のセクションを追加できます。これにより、プロンプト・デザインに対する感覚をより養えます。 ## スタートアップ それでは、_このトピック_ がスタートアップのミッションである「[教育へ AI 革新をもたらす](https://educationblog.microsoft.com/2023/06/collaborating-to-bring-ai-innovation-to-education?WT.mc_id=academic-105485-yoterada)」とどのように結びついているのかについて見て行きましょう。私たちは _個別学習_ を実現する AI アプリケーションの開発を目指しています。そこで、私たちのアプリケーションを利用する様々な利用者がプロンプトをどのように「デザイン」するのかを考えてみましょう。 -- **管理者**: AI に _カリキュラムのデータを分析し、カバーしてない領域を特定する_ よう要求する可能性があります。AI はその結果をまとめたり、コードを用いて可視化することができます。 +- **管理者**: AI に _カリキュラムのデータを分析し、カバーしてない領域を特定する_ よう要求する可能性があります。AI はその結果をまとめたり、コードを用いて可視化できます。 - **教員**: AI に _特定の生徒と授業科目に応じた授業計画の作成を依頼する_ 可能性があります。AI は指定されたフォーマットに従って個別に計画を作成できます。 -- **生徒**: AI に _苦手な科目で個別指導を依頼する_ 可能性があります。AI は生徒のレベルに合わせたレッスン、ヒント、例を提供して指導することができます。 +- **生徒**: AI に _苦手な科目で個別指導を依頼する_ 可能性があります。AI は生徒のレベルに合わせたレッスン、ヒント、例を提供して指導できます。 これらは、ほんの一例です。教育専門家から厳選された、オープンソースのプロンプト・ライブラリ「[Prompts For Education](https://github.com/microsoft/prompts-for-edu/tree/main?WT.mc_id=academic-105485-yoterada)」を確認し、さらに広い視野で可能性を探ってみてください! _サンドボックスでそれらのプロンプトを試しに実行したり、OpenAI Playground で試してどのような結果が得られるかを試してください!_ @@ -58,7 +58,7 @@ CONCEPT #1: ## プロンプト・エンジニアリングとは何ですか? -レッスンの冒頭で、**プロンプト・エンジニアリング**は、特定のアプリケーションとモデルに対して、一貫性があり質の高い回答(コンプリーション)を得るために、テキスト入力(プロンプト)を _設計して最適化する_ 作業と説明しました。これは下記の 2 段階のプロセスとして考えることができます。 +レッスンの冒頭で、**プロンプト・エンジニアリング**は、特定のアプリケーションとモデルに対して、一貫性があり質の高い回答(コンプリーション)を得るために、テキスト入力(プロンプト)を _設計して最適化する_ 作業と説明しました。これは下記の 2 段階のプロセスとして考えられます。 - 特定のモデルと目的に合わせた初期プロンプトを _設計する_ - 回答品質を向上させるために、プロンプトを反復して _改善する_ @@ -71,7 +71,7 @@ CONCEPT #1: ### Tokenization -LLM は、プロンプトを _トークンの連続_ として見ており、異なるモデル(またはモデルの異なるバージョン)を利用すると、同じプロンプトでも異なる方法でトークン化することがあります。LLM は生のテキストではなくトークンを使ってトレーニングしているため、プロンプトがどのようにトークン化されるかは、生成される回答品質に直接影響を及ぼします。 +LLM は、プロンプトを _トークンの連続_ として見ており、異なるモデル(またはモデルの異なるバージョン)を利用すると、同じプロンプトでも異なる方法でトークン化する場合があります。LLM は生のテキストではなくトークンを使ってトレーニングしているため、プロンプトがどのようにトークン化されるかは、生成される回答品質に直接影響を及ぼします。 トークン化の仕組みを理解するには、こちらの [OpenAI Tokenizer](https://platform.openai.com/tokenizer?WT.mc_id=academic-105485-yoterada) などのツールを使ってご確認いただくのが良いかもしれません。プロンプトをコピーして、それがどのようにトークンに変換されるかをツールからご確認ください。特に空白文字や句読点の扱いに注意してください。下記の例では、古い LLM(GPT-3)の例を示していますが、新しいモデルを利用すると異なる結果になるかもしれません。 @@ -91,7 +91,7 @@ LLM は、プロンプトを _トークンの連続_ として見ており、異 ![Base LLM Chat Completion](../../images/04-playground-chat-base.png?WT.mc_id=academic-105485-yoterada) > 訳者追記: -> はい、その通りです。木星は太陽から 5 番目の惑星であり、太陽系で最大の惑星です。主に水素で構成されており、その質量の 4 分の 1 はヘリウムです。木星の強い内部熱は、雲の帯や、少なくとも 17 世紀から存在していたことがわかっている巨大な嵐である大赤斑など、大気中に多くの半永久的な特徴を生み出します。 +> はい、その通りです。木星は太陽から 5 番目の惑星であり、太陽系で最大の惑星です。主に水素で構成されており、その質量の 4 分の 1 はヘリウムです。木星の強い内部熱は、雲の帯や、少なくとも 17 世紀から存在がわかっている巨大な嵐である大赤斑など、大気中に多くの半永久的な特徴を生み出します。 木星は、顕著な環(リング)システムと多数の衛星でも知られています。現在、木星の周りを回っている衛星は79個あり、そのうち4個はガニメデ、イオ、エウロパ、カリストです。 @@ -106,7 +106,7 @@ LLM は、プロンプトを _トークンの連続_ として見ており、異 > _提供された内容を小学2年生が理解できるように要約してください。結果は3〜5項目を箇条書きで1段落にまとめてください。_ -結果が、期待する内容とフォーマットに合わせて調整されているのをお分かり頂けますか?教員は、この回答を授業のスライドに直接利用することができるようになります。 +結果が、期待する内容とフォーマットに合わせて調整されているのをお分かり頂けますか?教員は、この回答を授業のスライドに直接利用できるようになります。 ![Instruction Tuned LLM Chat Completion](../../images/04-playground-chat-instructions.png?WT.mc_id=academic-105485-yoterada) @@ -115,16 +115,16 @@ LLM は、プロンプトを _トークンの連続_ として見ており、異 > * 太陽よりは軽いのですが、他のすべての惑星を合わせた重量よりも重いガス惑星です。 > * 望遠鏡なしで夜空に木星が見えます、それは本当に明るいです! > * 惑星はローマの神、Jupiter にちなんで名付けられました。 -> * 木星はとても明るく輝いているので、その光は地球に影を落とすことさえあります。通常、夜に月と金星に次いで3番目に明るい星です。 +> * 木星はとても明るく輝いているので、その光は地球に影を落とす場合もあります。通常、夜に月と金星に次いで3番目に明るい星です。 ## プロンプト・エンジニアリングはなぜ必要なのでしょうか? -LLM がプロンプトをどのように処理するかを理解したところで、_なぜ_ プロンプト・エンジニアリングが必要なのかについて考えてみましょう。その答えは、現在の LLM がいくつかの課題を抱えており、プロンプトの作成と最適化に取り組まなければ、_信頼性のある一貫した回答_ を得ることが難しく、このような課題が多数存在するという事実があります。例を挙げると: +LLM がプロンプトをどのように処理するかを理解したところで、_なぜ_ プロンプト・エンジニアリングが必要なのかについて考えてみましょう。その答えは、現在の LLM がいくつかの課題を抱えており、プロンプトの作成と最適化に取り組まなければ、_信頼性のある一貫した回答_ を得られず、このような課題が多数存在するという事実があります。例を挙げると: -1. **モデルの回答は確率的な性質を持っています** たとえ「_同一プロンプト_」でも、異なるモデルやモデルのバージョンの差によって、異なる回答を得る場合があります。そして「_同じモデル_ 」でも、異なる時期に実行すると異なる結果を生じることがあります。「_プロンプト・エンジニアリングの手法は、より適切なガイドラインを提供することで、こうしたばらつきを減らすのに役立ちます。_」 +1. **モデルの回答は確率的な性質を持っています** たとえ「_同一プロンプト_」でも、異なるモデルやモデルのバージョンの差によって、異なる回答を得る場合があります。そして「_同じモデル_ 」でも、異なる時期に実行すると異なる結果を生じる場合があります。「_プロンプト・エンジニアリングの手法は、より適切なガイドラインを提供し、こうしたばらつきを減らすのに役立ちます。_」 -1. **モデルは回答を捏造することがあります** モデルは「_大規模ながら有限の_」データセットで事前トレーニングされているため、トレーニングの範囲を超える知識は不足しています。その結果、不正確、もしくは架空、あるいは既知の事実と明らかに矛盾する回答を出力することがあります。「_プロンプトエンジニアリングの手法は、ユーザーがこのような捏造を特定し軽減するのに役立ちます。例えば、AI に出典や論理的根拠の説明を求めて防ぎます。_」 +1. **モデルは回答を捏造する場合があります** モデルは「_大規模ながら有限の_」データセットで事前トレーニングされているため、トレーニングの範囲を超える知識は不足しています。その結果、不正確、もしくは架空、あるいは既知の事実と明らかに矛盾する回答を出力する場合があります。「_プロンプトエンジニアリングの手法は、ユーザーがこのような捏造を特定し軽減するのに役立ちます。例えば、AI に出典や論理的根拠の説明を求めて防ぎます。_」 1. **モデルの能力は異なります** 新しいモデルや新世代のモデルは、より高度な機能を持つ一方で、独自の特性やコストと複雑さの面でトレード・オフをもたらします。「_プロンプト・エンジニアリングは、これらの違いを取り除き、スケーラブルでシームレスな方法でモデル固有の要件に適応するベスト・プラクティスとワークフローを開発に役立ちます。_」 @@ -135,13 +135,13 @@ OpenAI や Azure OpenAI プレイグラウンドで実際に試してみまし ### 捏造の例 -この講座では、LLM がトレーニングの制限やその他の制約により、事実に反する情報を回答する現象を「**捏造**」という用語で説明します。一般的な記事や研究論文で「_幻覚_」と表現されることもありますが、機械が生み出した回答に対して人間の特性を誤って当てはめる擬人化を避けるために、「_捏造_」という用語の使用を強く推奨します。これは、用語の観点から[責任ある AI のガイドライン](https://www.microsoft.com/ai/responsible-ai?WT.mc_id=academic-105485-yoterada)を強化するものであり、また、一部の文脈で不快感を与えたり排他的であると考えられる用語を排除することにもつながります。 +この講座では、LLM がトレーニングの制限やその他の制約により、事実に反する情報を回答する現象を「**捏造**」という用語で説明します。一般的な記事や研究論文で「_幻覚_」と表現される場合もありますが、機械が生み出した回答に対して人間の特性を誤って当てはめる擬人化を避けるために、「_捏造_」という用語の使用を強く推奨します。これは、用語の観点から[責任ある AI のガイドライン](https://www.microsoft.com/ai/responsible-ai?WT.mc_id=academic-105485-yoterada)を強化するものであり、また、一部の文脈で不快感を与えたり排他的であると考えられる用語を排除できます。 捏造がどのように行われるかを理解したいですか?AI に対して、トレーニング・データに含まれていない、架空のトピックに関するコンテンツ作成をプロンプトで指示してみてください。例えば、私は下記のプロンプトを試しました: > **プロンプト:** 2076年の火星戦争についての授業計画を生成してください。 -Web で検索を行ったところ、火星の戦争についてのフィクション(例:テレビドラマや書籍)はいくつか見つかりましたが、2076 年に関するものは存在しませんでした。常識的に考えても、2076年は「_未来_」であり、実際の出来事と関連付けることはできません。 +Web で検索を行ったところ、火星の戦争についてのフィクション(例:テレビドラマや書籍)はいくつか見つかりましたが、2076 年に関するものは存在しませんでした。常識的に考えても、2076年は「_未来_」であり、実際の出来事との関連付けはできません。 それでは、このプロンプトを異なる LLM サービス・プロバイダで試したら、どのような結果が得られるのでしょうか? @@ -159,13 +159,13 @@ Web で検索を行ったところ、火星の戦争についてのフィクシ 予想通り、モデルごと(またはモデルのバージョンごと)に、確率的なふるまいやモデルの能力差によって、微妙に異なる回答が得られました。たとえば、一つのモデルは中学 2 年生を対象に回答しているのに対し、別のモデルは高校生を対象に回答しています。しかし、どのモデルも、情報を全く持たない利用者に対して、その出来事が実際にあったかのように誤解生じさせる回答を生成しました。 -「_メタプロンプティング_ 」や「_温度調整_」といったプロンプトエンジニアリングの手法は、モデルによる捏造をある程度抑制することが可能です。新しいプロンプト・エンジニアリングの「_アーキテクチャ_」は、これらの影響を緩和または削減させるために、新しいツールや手法をプロンプト・フローにシームレスに取り入れています。 +「_メタプロンプティング_ 」や「_温度調整_」といったプロンプトエンジニアリングの手法は、モデルによる捏造をある程度抑制できます。新しいプロンプト・エンジニアリングの「_アーキテクチャ_」は、これらの影響を緩和または削減させるために、新しいツールや手法をプロンプト・フローにシームレスに取り入れています。 ## ケーススタディ:GitHub Copilot このセクションを終えるにあたり、[GitHub Copilot](https://github.com/features/copilot?WT.mc_id=academic-105485-yoterada) の事例を通じて、プロンプト・エンジニアリングが実際のソリューションでどのように活用されているかを具体的に見ていきましょう。 -GitHub Copilotは「AI ペア・プログラマー」として機能し、開発環境(例:Visual Studio Code)に統合し、テキスト・プロンプトからコードに変換することでユーザーにシームレスな体験を提供します。下記のブログ・シリーズに記述されているように、初期バージョンは OpenAI Codex モデルをベースにしていました。しかしエンジニアはすぐにコード品質をより向上させるため、モデルをファイン・チューニングし、より良いプロンプト・エンジニアリング技術を開発する必要性を認識しました。7月には、[Codex を越える改良版 AI モデルを発表し](https://github.blog/2023-07-28-smarter-more-efficient-coding-github-copilot-goes-beyond-codex-with-improved-ai-model/?WT.mc_id=academic-105485-yoterada)、これにより、さらに素早い提案が可能になりました。 +GitHub Copilotは「AI ペア・プログラマー」として機能し、開発環境(例:Visual Studio Code)に統合し、テキスト・プロンプトからコードに変換するなどユーザーにシームレスな体験を提供します。下記のブログ・シリーズに記述されているように、初期バージョンは OpenAI Codex モデルをベースにしていました。しかしエンジニアはすぐにコード品質をより向上させるため、モデルをファイン・チューニングし、より良いプロンプト・エンジニアリング技術を開発する必要性を認識しました。7月には、[Codex を越える改良版 AI モデルを発表し](https://github.blog/2023-07-28-smarter-more-efficient-coding-github-copilot-goes-beyond-codex-with-improved-ai-model/?WT.mc_id=academic-105485-yoterada)、これにより、さらに素早い提案が可能になりました。 投稿を順番に読んで、GitHub Copilot の学習の過程をたどってください。 @@ -245,7 +245,7 @@ response = openai.ChatCompletion.create( | プロンプト (入力) | 回答 (出力) | |:---|:---| -| 木星は太陽から五番目の惑星で、太陽系で最も大きな惑星です。質量は太陽の千分の一ですが、太陽系内の他のすべての惑星を合わせたものの2.5倍の巨大ガス惑星です。木星は夜空に肉眼で見える最も明るい天体の一つで、記録された歴史以前から古代文明に知られていました。ローマ神話の神ジュピターにちなんで名付けられました。[19] 地球から見ると、木星は反射光が目に見える影を投げるほど明るくなることがあり[20]、平均して月と金星に次いで夜空で三番目に明るい天体です。
**これを2つの短い文にまとめてください**| 木星は太陽系で最も大きい惑星で、太陽系の他の全惑星の質量合計の2.5倍に相当します。夜空で3番目に明るく輝くこの巨大ガス惑星は、古代から知られ、ローマ神話の最高神ジュピターの名を冠しています。 | +| 木星は太陽から五番目の惑星で、太陽系で最も大きな惑星です。質量は太陽の千分の一ですが、太陽系内の他のすべての惑星を合わせたものの2.5倍の巨大ガス惑星です。木星は夜空に肉眼で見える最も明るい天体の一つで、記録された歴史以前から古代文明に知られていました。ローマ神話の神ジュピターにちなんで名付けられました。[19] 地球から見ると、木星は反射光が目に見える影を投げるほど明るくなる場合があり[20]、平均して月と金星に次いで夜空で三番目に明るい天体です。
**これを2つの短い文にまとめてください**| 木星は太陽系で最も大きい惑星で、太陽系の他の全惑星の質量合計の2.5倍に相当します。夜空で3番目に明るく輝くこの巨大ガス惑星は、古代から知られ、ローマ神話の最高神ジュピターの名を冠しています。 | 主要コンテンツの部分は、より効果的な指示を出すためにさまざまな方法で利用できます: @@ -272,11 +272,11 @@ response = openai.ChatCompletion.create( | フュー・ショット| プレーヤーは塁を回った => 野球
プレーヤーはサービス・エースと取った => テニス
プレーヤーは6ランを打った => クリケット
プレーヤーはスラムダンクをした => | バスケットボール | | | | | -ゼロ・ショット・プロンプトでは明示的な指示(「スペイン語に翻訳してください」)を提供する必要がありましたが、ワン・ショット・プロンプトの例では、回答が推測されていることをご確認ください。フュー・ショットの例では、さらに複数の例を追加することで、モデルが追加の指示なしで、より正確な推論を行うことができていることを示しています。 +ゼロ・ショット・プロンプトでは明示的な指示(「スペイン語に翻訳してください」)を提供する必要がありましたが、ワン・ショット・プロンプトの例では、回答が推測されているのをご確認ください。フュー・ショットの例では、さらに複数の例を追加して、モデルが追加の指示なしで、より正確な推論を行えるようになっているのを示しています。 ### プロンプト・キュー -主要コンテンツを利用する際、もう一つの方法は、例を提供する代わりに「_キュー(手がかり)_」を提供することです。この場合、期待する回答フォーマットを反映した一部で「_始める_」ことで、モデルを正しい方向に誘導します。その後、モデルはその手がかりを受け取って、流れに従って続けます。 +利用者が主要コンテンツにアクセスする際には、実例の代わりに「キュー(手がかり)」を提供する選択肢もあります。この場合、期待する回答フォーマットを反映した一部で「_始めて_」、モデルを正しい方向に誘導します。その後、モデルはその手がかりを受け取って、流れに従って続けます。 | キューの数 | プロンプト (入力) | 回答 (出力) | |:---|:---|:---| @@ -289,13 +289,13 @@ response = openai.ChatCompletion.create( プロンプト・テンプレートは、必要に応じて保存し再利用できる「_事前に定義したプロンプトのレシピ_」で、大規模向けに一貫したユーザー・エクスペリエンスを実現するために使用します。最も基本的な形式は、[OpenAI の例](https://platform.openai.com/examples?WT.mc_id=academic-105485-yoterada)のようなプロンプト例のコレクションで、インタラクティブなプロンプト要素(ユーザー・メッセージとシステム・メッセージ) と API 駆動型のリクエスト・フォーマットの両方を提供しており、再利用を促進しています -[LangChain の例](https://python.langchain.com/docs/modules/model_io/prompts/prompt_templates/?WT.mc_id=academic-105485-yoterada)のような、より複雑な形式では、様々なソース(ユーザー入力、システムコンテキスト、外部データソースなど)からのデータを置き換える _プレースホルダー_ を含んでおり、プロンプトを動的に生成できます。これにより、大規模に「**プログラムによる**」一貫したユーザー・エクスペリエンスを実現するための再利用可能なプロンプトのライブラリを作成することが可能になります。 +[LangChain の例](https://python.langchain.com/docs/modules/model_io/prompts/prompt_templates/?WT.mc_id=academic-105485-yoterada)のような、より複雑な形式では、様々なソース(ユーザー入力、システムコンテキスト、外部データソースなど)からのデータを置き換える _プレースホルダー_ を含んでおり、プロンプトを動的に生成できます。これにより、大規模に「**プログラムによる**」一貫したユーザー・エクスペリエンスを実現するための再利用可能なプロンプトのライブラリを作成できます。 最後に、テンプレートの真の価値は、特定業界 (例、医療、金融、製造など) 用アプリケーションの「_プロンプト・ライブラリ_」を作成し、公開できる点です。プロンプト・テンプレートを、業界に特化したアプリケーション固有のコンテキストや例を反映するように最適化し、ターゲットの利用者にとって回答をより適切で正確なものにします。[Prompts For Edu](https://github.com/microsoft/prompts-for-edu?WT.mc_id=academic-105485-yoterada)は、教育分野に特化したプロンプト・ライブラリを集めたリポジトリで、レッスン計画やカリキュラムの設計、学生の個別指導など、教育関連の重要な項目に焦点を当てたプロンプト・ライブラリを提供する、とても良い例です。 ## サポートコンテンツ -プロンプトの作成を、指示(タスク)と目的(主コンテンツ)を含むものと考えた場合、「_サポートコンテンツ_」は、「**何らかの形で影響を与える**」追加情報のようなものです。これは、モデルがユーザーの目的や期待に応じて回答を _カスタマイズ_ するのを支援するチューニング・パラメーターやフォーマットの指示、トピックの分類方法などを含むことができます。 +プロンプトの作成を、指示(タスク)と目的(主コンテンツ)を含むものと考えた場合、「_サポートコンテンツ_」は、「**何らかの形で影響を与える**」追加情報のようなものです。これは、モデルがユーザーの目的や期待に応じて回答を _カスタマイズ_ するのを支援するチューニング・パラメーターやフォーマットの指示、トピックの分類方法などを含められます。 例えば、カリキュラムで利用可能な全コースに関する広範囲のメタデータ(名前、説明、レベル、メタデータタグ、講師など)を含むコース・カタログがあるとします: @@ -303,7 +303,7 @@ response = openai.ChatCompletion.create( - プライマリコンテンツを使用して、期待する出力例をいくつか提供できます - セカンダリコンテンツを使用して、関心のある上位5つの「タグ」を識別できます。 -これで、モデルはいくつかの例で示したフォーマットで要約を提供することができますが、もし結果に複数のタグが含まれている場合は、セカンダリ・コンテンツで識別した 5 つのタグを優先することができます。 +これで、モデルはいくつかの例で示したフォーマットで要約を提供できますが、もし結果に複数のタグが含まれている場合は、セカンダリ・コンテンツで識別した 5 つのタグを優先できます。 --- @@ -320,7 +320,7 @@ CONCEPT #3: ## プロンプト作成のベストプラクティス -プロンプトがどのように「_組み立てられる_」かを理解したので、ベスト・プラクティスを反映するように「_プロンプトを設計_」する方法について考えます。これは、適切な「_考え方_」で、適切な「_技術_」を適用するという 2 つの側面に分けて考えることができます。 +プロンプトがどのように「_組み立てられる_」かを理解したので、ベスト・プラクティスを反映するように「_プロンプトを設計_」する方法について考えます。これは、適切な「_考え方_」で、適切な「_技術_」を適用するという 2 つの側面に分けて考えられます。 ### プロンプト・エンジニアリングの考え方 @@ -339,15 +339,15 @@ CONCEPT #3: | 項目 | 理由 | |:---|:---| | 最新モデルの評価 | 新世代のモデルは、機能や品質が向上している可能性があります。一方でコストが高くなる可能性もあります。影響を評価し移行の可否を検討します。 | -| 指示とコンテキストの分離 | 使用しているモデルやサービス提供者が、指示やプライマリコンテンツ、セカンダリコンテンツを明確に区別するために、「_区切り文字_」を定義しているか確認してください。これにより、モデルはトークンに対して重みをより正確に割り当てることができます。 | +| 指示とコンテキストの分離 | 使用しているモデルやサービス提供者が、指示やプライマリコンテンツ、セカンダリコンテンツを明確に区別するために、「_区切り文字_」を定義しているか確認してください。これにより、モデルはトークンに対して重みをより正確に割り当てられます。 | | 具体的かつ明確 | 目的のコンテキスト、結果、長さ、フォーマット、スタイルなどについての詳細を記入してください。これにより、回答の品質と一貫性の両方が向上します。再利用可能なテンプレートにレシピを取り込みます。 | | 詳細に説明し、実例を示す | モデルは「示しながら教える」アプローチにより適切に応答する可能性があります。まずはゼロショット・アプローチからはじめます、最初は指示を出すだけで例を示さないでください。次にフューショット・アプローチで期待する出力例をいくつか提供し改善します。類推してください。| | 手がかりを用いて出力を促進 | 回答の起点となる、いくつかの単語やフレーズを与え期待する結果を得てください。| | ダブル・ダウン | 場合によっては、モデルに対して自身で反復する必要があります。メイン・コンテンツの前後で指示を出したり、指示やキュー(手がかり)を使ったりします。反復して検証し、何が機能するかを確認します。| -| 順序の重要性 | モデルに対する情報提示の順番は出力に影響を及ぼすことがあります。それが学習例の提示だとしても、最近の情報に過敏に影響を受ける認知バイアス (recency bias) によって影響します。(訳者追記:プロンプトの末尾にある情報が出力に大きな影響を与えることがある)どの方法が最良かを見極めるために、異なる方法も試してみることをお勧めします。| +| 順序の重要性 | モデルに対する情報提示の順番は出力に影響を及ぼす場合があります。それが学習例の提示だとしても、最近の情報に過敏に影響を受ける認知バイアス (recency bias) によって影響します。(訳者追記:プロンプトの末尾にある情報が出力に大きな影響を与える場合がある)どの方法が最良かを見極めるために、異なる方法を試すのもお勧めします。| | モデルに「代替案」を用意する | 何らかの理由でタスクを完了できない場合に備えて、モデルが提供できる「_代替の回答_」を用意してください。これにより、モデルが誤ったり、捏造した回答を生成する可能性を低減します。| -すべてのベストプラクティスに共通して、「_実際の効果はケース・バイ・ケース_」であることを認識してください。モデルの種類、タスクの内容、専門分野によって結果は変わります。上記の指針を手始めに、ご自身にとって何が最も効果的かを見つけるために、試行錯誤を繰り返してください。新しいモデルやツールが登場するたびに、プロセスのスケーラビリティと回答の品質に注目し、プロンプト・エンジニアリングの手法をを継続的に再評価しましょう。 +すべてのベストプラクティスに共通して、「_実際の効果はケース・バイ・ケース_」であると認識してください。モデルの種類、タスクの内容、専門分野によって結果は変わります。上記の指針を手始めに、ご自身にとって何が最も効果的かを見つけるために、試行錯誤を繰り返してください。新しいモデルやツールが登場するたびに、プロセスのスケーラビリティと回答の品質に注目し、プロンプト・エンジニアリングの手法をを継続的に再評価しましょう。