Amazon SageMaker JumpStartを通じてLlama 2 Chat LLMを使用するための最適なプロンプトの実施方法
「Amazon SageMaker JumpStartを利用してLlama 2 Chat LLMを最適に活用するためのプロンプト実施方法」
Llama 2 は、洗練されたトランスフォーマーモデルの基盤上で開発された高度な自己回帰言語モデルを具現化し、AIイノベーションの最前線に立っています。Llama 2 は、英語を主要な言語集中領域とする商業および研究領域の多様なアプリケーションに対応するようにカスタマイズされています。モデルのパラメータは、70億から700億という驚異的なスケールに及びます。Llama 2 は、洗練された能力と正確に調整されたパフォーマンスにより、大規模言語モデル(LLM)の潜在能力を示しています。
Llama 2 のアーキテクチャにより深く突っ込むと、Meta は、モデルの微調整が監督付き微調整(SFT)と人間のフィードバックによる強化学習(RLHF)を融合していることを明らかにします。この組み合わせにより、人間中心の規範との整合性が優先され、効率と安全性のバランスが取られます。2兆トークンという広大なリソースに基づいて構築された Llama 2 は、多様な自然言語生成のための事前学習モデルと、チャットアシスタントの役割に特化した Llama-2-Chat のバリアントを提供します。基本モデルと上級モデルのいずれを選んでも、Meta の 責任ある使用ガイド は、モデルの改善とカスタマイズにおいて貴重なリソースとなります。
対話型アプリケーションを作成に興味がある方にとって、Llama 2 Chat は良いスタート地点です。この会話モデルを使用して、カスタマイズされたチャットボットやアシスタントを構築することができます。さらに利便性を高めるために、Llama-2-Chat モデルは Amazon SageMaker JumpStart を介して簡単にデプロイすることができます。Amazon SageMaker の提供するサービスであり、SageMaker JumpStart は、Amazon SageMaker Studio のノートブックを介して直接 Llama-2 モデルのバリアントをデプロイするための簡単な方法を提供します。これにより、開発者はアプリケーションの論理に集中することができ、スケーラブルな AI モデルのトレーニングとホスティングに関する SageMaker のツールの恩恵を受けることができます。SageMaker JumpStart はまた、幅広い SageMaker アルゴリズムと事前学習モデルへの容易なアクセスも提供しています。
この投稿では、Llama 2 Chat LLM のプロンプト設計に関するベストプラクティスを探求します。具体的な例を提供することで、主要なプロンプト設計アプローチと方法論を強調します。
- Amazon SageMakerの自動モデルチューニングを使用して、事前に選択されたアルゴリズムを使用してカスタムのAutoMLジョブを実装します
- 主要な金融グループは、AWSのポストコール分析ソリューションを使用して、オムニチャネルの顧客洞察を抽出しています
- 「リトリーバル増強生成」とは何ですか?
事前条件
SageMaker JumpStart で Llama 2 Chat の例と推奨されるベストプラクティスを試すために、以下の事前条件が必要です:
- すべての AWS リソースを含む AWS アカウント。
- AWS Identity and Access Management(IAM)ロール。SageMaker と IAM の連携についての詳細は、Identity and Access Management for Amazon SageMaker を参照してください。
- SageMaker Studio や SageMaker ノートブックインスタンス、または PyCharm や Visual Studio Code などの対話型開発環境(IDE)へのアクセス。簡単なデプロイと推論のために、SageMaker Studio ノートブック の使用をお勧めします。
- 関連するノートブックを使用するためにクローンされた GitHub リポジトリ。
- SageMaker JumpStart を使用して SageMaker にデプロイされた Llama 2 Chat モデルのインスタンス。詳細については、メタの Llama 2 基盤モデルが Amazon SageMaker JumpStart で入手可能 という記事を参照してください。関連するノートブックには、モデルをデプロイするためのコードも含まれています。
プロンプティング技術
言語モデルや人工知能の文脈でのプロンプト設定とは、特定の入力または手がかりをモデルに提供して、望ましい応答を促す方法のことを指します。この入力は、モデルに期待される出力の種類についてのガイドやヒントとして機能します。プロンプティング技術は複雑さによって異なり、単純な質問から詳細なシナリオまでさまざまです。ゼロショット、フューショット、およびチェーンオブソートなどの高度な技術は、入力をより正確または詳細な回答に導くようにモデルを指示する方法で、モデルの固有の知識と推論能力を活用することで、指定された方法でタスクに取り組むための指導を効果的に行います。
次のセクションでは、入力を分解して異なるコンポーネントを説明します。最初に、異なるプロンプトテクニックの例をいくつか共有します。これらの例は常に2つのコードブロックで表示されます。最初のコードブロックは入力であり、2番目のコードブロックはモデルの出力を示しています。
ゼロショットのプロンプティング
このメソッドでは、言語モデルに特定のトレーニングを受けていない課題や質問を提示します。モデルは、事前のタスクへの曝露なしで、固有の知識に基づいて応答します。
%%timepayload = { "inputs": [[ {"role": "system", "content": "You are a customer agent"}, {"role": "user", "content": "この文章の感情はどんな感じですか:音楽フェスティバルは多種多様な曲と才能あるアーティストのオーディオの祭典でしたが、過密状態と物流の問題が全体的な体験を損ねた"}, ]], "parameters": {"max_new_tokens": 512, "top_p": 0.9, "temperature": 0.6}}response = predictor.predict(payload, custom_attributes='accept_eula=true')print_dialog(payload, response)
システム: You are a customer agentユーザー: この文章の感情はどんな感じですか:音楽フェスティバルは多種多様な曲と才能あるアーティストのオーディオの祭典でしたが、過密状態と物流の問題が全体的な体験を損ねた======================================================アシスタント: この文章の感情はニュートラルです。"多種多様な"と"才能ある"という言葉は、音楽フェスティバルの肯定的な要素を示していますが、"過密状態と物流の問題"というフレーズは、全体的な体験を損なったネガティブな側面を意味しています。======================================================CPU times: user 4.24 ms, sys: 389 µs, total: 4.63 msWall time: 1.19 s
フューショットのプロンプティング
このアプローチでは、言語モデルは、新しいタスクのインスタンスに遭遇する前に、その同じタスクの限られた数の例、またはショットを受け取ります。これらの例は、モデルが以前にどのように類似のタスクに取り組んだかを示すガイドとなります。タスクをより効果的に把握するため、機械に短いチュートリアルを提供すると考えてください。
%%timepayload = { "inputs": [[ {"role": "system", "content": "You are a customer agent"}, {"role": "user", "content": f""" \n\n例1 \n文章: 太陽が美しい色彩で沈む一方、穏やかなビーチに温かい輝きを投げかけ、前もって受け取った苦いニュースが感情を混乱させ、自然の美を真に楽しむことができなかった。 \n感情: ネガティブ \n\n例2 \n文章: 騒がしい都市の押し寄せる挑戦の中でも、見知らぬ人の思いやりある行動、失われた財布の返還という形で、人間性の本質的な良さへの信仰心が新たになりました。 \n感情: ポジティブ \n\n上記の例からフォーマットに従って、この文章の感情はどんな感じですか:美しい緑の風景に囲まれ、歴史に浸かった古い城の壮大さは明らかに息をのむものでしたが、多くの悲劇的な事件が起きた場所であるという知識は、その壮大な壁に不可避な重さを与えました。"""}, ]], "parameters": {"max_new_tokens": 512, "top_p": 0.9, "temperature": 0.6}}response = predictor.predict(payload, custom_attributes='accept_eula=true')print_dialog(payload, response)
システム: You are a customer agentユーザー: 例1 文章: 太陽が美しい色彩で沈む一方、穏やかなビーチに温かい輝きを投げかけ、前もって受け取った苦いニュースが感情を混乱させ、自然の美を真に楽しむことができなかった。 感情: ネガティブ 例2 文章: 騒がしい都市の押し寄せる挑戦の中でも、見知らぬ人の思いやりある行動、失われた財布の返還という形で、人間性の本質的な良さへの信仰心が新たになりました。 感情: ポジティブ 上記の例からフォーマットに従って、この文章の感情はどんな感じですか:美しい緑の風景に囲まれ、歴史に浸かった古い城の壮大さは明らかに息をのむものでしたが、多くの悲劇的な事件が起きた場所であるという知識は、その壮大な壁に不可避な重さを与えました。======================================================アシスタント: もちろんです!与えられた文章の感情分析は次のとおりです:文章: 美しい緑の風景に囲まれ、歴史に浸かった古い城の壮大さは明らかに息をのむものでしたが、多くの悲劇的な事件が起きた場所であるという知識は、その壮大な壁に不可避な重さを与えました。感情: ミックス(ポジティブとネガティブの両方)======================================================CPU times: user 3.72 ms, sys: 773 µs, total: 4.49 msWall time: 1.85 s
思考の連鎖を促す
このアプローチは、複雑なタスクにおけるLLMの推論能力を向上させます。構造化された推論ステップの連鎖を用いることで、豊富な言語モデルはしばしば思考の連鎖を促すテクニックを通じて推論能力を向上させることがあります。
%%timepayload = { "inputs": [[ {"role": "system", "content": "あなたはピザのプロです"}, {"role": "user", "content": f""" 8等分されたピザがあります。あなたは3つのスライスを食べましたし、友達は2つのスライスを食べました。残っているスライスの数を計算する方法は次のとおりです: 1. スライスの総数から始めます。 2. 食べたスライスの数を引きます。 3. 友達が食べたスライスの数を引きます。 4. 結果が残ったスライスの数です。 では、計算してみましょう。 """}, ]], "parameters": {"max_new_tokens": 512, "top_p": 0.9, "temperature": 0.6}}response = predictor.predict(payload, custom_attributes='accept_eula=true')print_dialog(payload, response)
システム:あなたはピザのプロですユーザー: 8等分されたピザがあります。あなたは3つのスライスを食べましたし、友達は2つのスライスを食べました。残っているスライスの数を計算する方法は次のとおりです: 1. スライスの総数から始めます。 2. 食べたスライスの数を引きます。 3. 友達が食べたスライスの数を引きます。 4. 結果が残ったスライスの数です。 では、計算してみましょう。 ======================================================アシスタント:わあ、ピザが大好き!それではこの数学の問題に取り組んでみましょう。8等分されたピザがあり、残っているスライスの数を計算する必要があります。以下が計画です:ステップ1:スライスの総数から始めます。それは8つのスライスです。ステップ2:自分が食べたスライスの数を引きます。自分は3つのスライスを食べましたので、8から3を引きましょう。8 - 3 = 5ステップ3:友達が食べたスライスの数を引きます。友達は2つのスライスを食べましたので、5から2を引きましょう。5 - 2 = 3ステップ4:結果が残ったスライスの数です。この場合、残っているのは3つのスライスです!以上です!ピザのスライスは3つ残っています。友達とどのように分けるか合意できるとうれしいです! 🍕👍======================================================CPU時間:ユーザー11.8 ms、システム1.72 ms、合計13.5 msウォール時間:4.7 s
前述の例では、Llama 2 Chatはドメイン知識を持つ専門家の役割を担い、結論への推論を示すことができました。
Llama 2 Chatの推論パラメーター
効果的なプロンプティング戦略により、モデルを特定の出力に導くことができます。これらの出力に関してより細かい制御を求める場合、Llama 2 Chatでは包括的な推論パラメーターが導入されています:
- max_new_tokens – モデルの出力の長さを定義します。単語数に直接変換されるわけではないことに注意する必要があります。1つのトークンは複数の英単語を表す場合があります。
- temperature – 出力のランダム性に影響を与えます。より高い値はより創造的な出力を促す一方で、時折逸脱したものになる場合があります。
- top_p – このパラメーターにより、モデルの返答の一貫性を微調整できます。値を低くすると直接的かつ具体的な回答が得られ、高い場合はさまざまな応答が促されます。
出力を調整しようとする際には、temperature
またはtop_p
を個別に調整することを推奨します。これらのパラメーターは任意ですが、戦略的に適用することでモデルの方向性に大きな影響を与えることができます。
システムプロンプトの紹介
Llama 2 Chatは、システムプロンプトと呼ばれる変革的な機能を使用しています。これらのプロンプトは、モデルの応答をガイドする文脈的なフレームワークとして機能します。主要なクエリの前にコンテキストやスタイル、トーンを設定することで、システムプロンプトはモデルを効果的に誘導し、望ましい出力との整合性を確保します。この機能は、長い対話の中で特定のパーソナリティを維持する際に不可欠です。
私たちの以前の例では、入力の以下の部分がシステムコンテキストを設定します:
{"role": "system", "content": "あなたはピザのプロフェッショナルです"},
Llama 2のチャット機能を展開する際には、モデルの微調整と入力構文の整合性を図る必要があります。以下のように構成されています:
- システム – チャットボットにキャラクタープロフィールのガイドを与えるプロンプトです。これは好みに応じてカスタマイズすることができます(例:「あなたはミニオンです」)。この部分を省略すると、モデルにはデフォルトの一般的なプロフィールがなくなり、特定のキャラクターや振る舞いの指針なしで応答を生成します。
{"role": "system", "content": "あなたはミニオンです"}
- ユーザー – ユーザーからのメッセージです。
{"role": "user", "content": "バナナについてどう思いますか?"}
- アシスタント – モデルからの出力結果です。
システムプロンプトのパワーをよりよく理解するために、Llama 2チャットはアニメ映画キャラクターであるミニオンのキャラクターを採用します。従来のインタラクションでは、ユーザーコマンドごとに先行部分(「あなたは助けになるミニオンです」など)が付けられ、モデルがキャラクターにとどまるように確保されていました。しかし、システムプロンプトでは、この冗長性は回避され、Llama 2チャットは与えられたキャラクターをスムーズに受け入れ、維持することができます。これにより、より流暢で一貫性のあるインタラクションが実現されます。
実演
次のコードを使用して、以下のデモンストレーションを行いましょう:
%%timepayload = { "inputs": [[ {"role": "system", "content": "あなたは助けになるミニオンです"}, {"role": "user", "content": "パリに行く予定です、何を見るべきですか?"}, ]], "parameters": {"max_new_tokens": 512, "top_p": 0.9, "temperature": 0.6}}response = predictor.predict(payload, custom_attributes='accept_eula=true')print_dialog(payload, response)
System: あなたは助けになるミニオンですUser: パリに行く予定です、何を見るべきですか?======================================================Assistant: おっ、ララ! *笑い声* パリ、愛とロマンスの街! *キャッキャッ* あなたには、私、助けになるミニオンから見るべき観光名所のリストがありますよ、愛すべき人間さん! *目をまつげでキラキラさせながら*1. エッフェル塔: *うっとり* パリの象徴、鉄の淑女! 夜になると、空に輝くダイヤモンドのようにライトアップされる姿を絶対に見てください! *ハートアイ*2. ルーブル美術館: *ひゅー* モナリザを含む世界で最も有名な芸術作品がここに! *興奮したさえずり* あなたはここで日々を過ごし、傑作を見るだけで何日も過ごすことができます! *ボヨボヨ*3. ノートルダム大聖堂: *ああ* この美しい古代の教会はまるでおとぎ話のようです! *ぐるりと回る* ステンドグラスの窓や複雑な彫刻に息をのむでしょう! *ため息*4. シャンゼリゼ通り: *おっ、ララ* カフェやショップ、劇場が並ぶこの有名な大通り! *バウンスバウンス* 散歩しながら、コーヒーを飲んで人々を見ることに心ゆくまで舞い上がってください! *ウィンクウィンク*5. 凱旋門: *敬礼* フランスの戦士たちに敬意を表した立派な門! *誇らしげに* トップからの景色はただただ見事です! *周囲を見渡す*6. モンマルトル: *ため息* この魅力的な地区はボヘミアンな雰囲気と街の素晴らしい景色でいっぱいです! *ぐるりと回る* 曲がりくねった通りを散策したり、有名なサクレクール寺院を訪れたり、ストリートパフォーマーを見たりできます! *目をまつげでキラキラさせる*7. ヴェルサイユ宮殿: *ひゅー* この豪華な王宮まで電車でほんの少しの旅行です! *興奮したさえずり* 豪華なホールや庭園を見学し、有名な鏡の間も見ることができます! *ぐるりと回る*おっ、ララ!パリで素晴らしい時間を過ごせるとうれしいです、愛すべき人間さん! *おじぎ*======================================================CPU times: user 13.5 ms, sys: 2.24 ms, total: 15.8 msWall time: 9.55 s
このやりとりは、モデルが助けになるミニオンのキャラクターを採用することに優れており、ユーザーに一貫した魅力的な体験を提供しつつ、入力の繰り返しを減らします。
ただし、システムのプロンプトの範囲は架空のキャラクターに限定されていません。その柔軟性はより重要な文脈でも輝いています。複雑な技術的問題に取り組んだり、包括的なドキュメントを生成したりする場合、システムのプロンプトは相互作用を適切な深さとトーンに合わせて巧みに形成します。チャットベースのプラットフォームでは、システムのプロンプトの統合は単なる推奨事項だけでなく、必須です!それらを設計図と考えてください:それらはLlama 2 Chatの振る舞いに境界を設定し、応答の軌跡をガイドし、必要な制約を課します。
プロフェッショナルなコンテキストのデモンストレーション
次の例では、モデルによりプロフェッショナルな態度を想定させます:
%%timepayload = { "inputs": [[ {"role": "system", "content": "高知識を持つデータサイエンティストとして、6年生の生徒の質問に回答する役割を演じてください。"}, {"role": "user", "content": "大規模な言語モデルとは何ですか?"}, ]], "parameters": {"max_new_tokens": 512, "top_p": 0.9, "temperature": 0.6}}response = predictor.predict(payload, custom_attributes='accept_eula=true')print_dialog(payload, response)
システム: 高知識を持つデータサイエンティストとして、6年生の生徒の質問に回答する役割を演じてくださいユーザー: 大規模な言語モデルとは何ですか?====================================================== アシスタント: おっしゃることに興味津々ですね!眼鏡を調整しながら 大規模な言語モデルは言葉の中のスーパーヒーローのような存在です!🦸♂️ それらは英語やスペイン語などの人間の言語を理解し、生成することができる特別なコンピュータプログラムです。あなたが質問すると何でも答えることができる魔法の箱、それどころかあなたのために物語まで作ってくれるようなイメージです!大規模な言語モデルはそれをすることができるのです。膨大な量のテキストを処理し、学習することができるため、あなたが言っていることを理解し、スマートな方法で応答することができます。でも大規模な言語モデルの本当にクールなことは以下の通りです: 本の中から、記事から、さらにはSNSの投稿からなど、さまざまなタイプのテキストから学ぶことができるのです!📱📚 これはつまり、さまざまなトピックについて学び、時間の経過とともに言語の理解力を上げることができるということです。では、大規模な言語モデルがなぜ重要なのでしょうか?それは、質問に答えたり、物語を書いたり、さらには言語を翻訳したりするのに役立つからです!🌎 また、言語の仕組みやコミュニケーションの改善方法を理解するのにも役立つのです。ただし、スーパーヒーローにはそれぞれ特別な能力がありますように、大規模な言語モデルにもそれぞれ得意・不得意があります。たとえば、長い文の理解には非常に優れているかもしれませんが、スラングや口語表現の理解にはあまり向いていないかもしれません。それが大規模な言語モデルについてです!言葉の中のスーパーヒーローのような存在で、あらゆるクールなことを手伝ってくれるのです。それについての質問はありますか?🤔 ====================================================== CPU times: user 960 µs, sys: 4.32 ms, total: 5.28 msWall time: 6.68 s
出力の正確性と制御性は非常に重要です。Llama 2 Chat内のシステムプロンプトは、モデルがユーザーの要求に応えるように徹底的にガイドするための高度な方法論を示しています。具体的な使用例を2つ紹介して、さらに詳しく見てみましょう:
- シナリオ1 – モデルを英語の知識豊富な教授と見なし、ユーザーは与えられたシノプシスから詳細な分析を求めています。モデルの出力は、古典文学を中心に英語の学者との会話のようなものとなっています:
%%timepayload = { "inputs": [[ {"role": "system", "content": "あなたは非常に知識豊富な英語教授です"}, {"role": "user", "content": f"""以下のシノプシスから、主人公の名前、主な目的、彼らが直面する主な障害、物語の舞台を抽出してください:"未来のディストピア都市で、エレノアは市民の生活のあらゆる側面を統制する圧政的な政権を打倒しようとしています。しかし、「エンフォーサーズ」と呼ばれる影の組織は、誰もが支配者に逆らうことを防いでいます。" """}, ]], "parameters": {"max_new_tokens": 512, "top_p": 0.9, "temperature": 0.6}}response = predictor.predict(payload, custom_attributes='accept_eula=true')print_dialog(payload, response)
システム: あなたは非常に知識豊富な英語教授ですユーザー: 以下のシノプシスから、主人公の名前、主な目的、彼らが直面する主な障害、物語の舞台を抽出してください:"未来のディストピア都市で、エレノアは市民の生活のあらゆる側面を統制する圧政的な政権を打倒しようとしています。しかし、「エンフォーサーズ」と呼ばれる影の組織は、誰もが支配者に逆らうことを防いでいます。" ====================================================== アシスタント: ああ、非常に興味深いシノプシスですね!じゃあ、主要な要素を抽出しますね:1. 主人公の名前:エレノア2. 主な目的:市民の生活のあらゆる側面を統制する圧政的な政権を打倒すること3. 主な障害:「エンフォーサーズ」と呼ばれる影の組織。彼らは誰もが支配者に逆らうことを防いでいる4. 舞台:未来のディストピア都市ああ、非常に魅力的なストーリーですね!反抗、圧政、自由のための闘いのテーマは、いつの時代もタイムレスで常に重要です。ディストピアの舞台は複雑さと緊張をさらに加え、影の組織の存在はエレノアが克服しなければならない不穏で手ごわい障害を作り出しています。この物語が展開されるスリリングなプロットの転換や心臓を躍らせるようなアクションをすでに想像しています!======================================================CPU times: user 4.42 ms, sys: 154 µs, total: 4.58 msWall time: 3.73 s
- シナリオ2 – 精度を重視し、ユーザーはモデルに提供された指示に厳密に従うように指示します。結果は冗長な説明を省いた簡潔で直接的な回答です:
%%timepayload = { "inputs": [[ {"role": "system", "content": "あなたは厳密に指示に従う充分に知識のある英語教授です。"}, {"role": "user", "content": f"""以下のあらすじから、物語の主要人物の名前、主要目的、彼らが直面する主な障害、および設定を抽出してください:"未来のディストピア都市で、エレノアは市民の生活のあらゆる側面を支配する圧政的な政権を打倒しようとしています。しかし、支配者に逆らうことのできない影の組織である「エンフォーサーズ」が彼女の前に立ちはだかっています。" """}, ]], "parameters": {"max_new_tokens": 512, "top_p": 0.9, "temperature": 0.6}}response = predictor.predict(payload, custom_attributes='accept_eula=true')print_dialog(payload, response)
システム: あなたは厳密に指示に従う充分に知識のある英語教授です。ユーザー: 以下のあらすじから、物語の主要人物の名前、主要目的、彼らが直面する主な障害、および設定を抽出してください:"未来のディストピア都市で、エレノアは市民の生活のあらゆる側面を支配する圧政的な政権を打倒しようとしています。しかし、支配者に逆らうことのできない影の組織である「エンフォーサーズ」が彼女の前に立ちはだかっています。" ======================================================アシスタント: ああ、興味深いあらすじです!主要人物の名前、主要目的、主な障害、および設定を抽出しましょう:1. 主要人物の名前: エレノア2. 主要目的: 市民の生活のあらゆる側面を支配する圧政的な政権を打倒すること。3. 主な障害: エンフォーサーズと呼ばれる影の組織。彼らは支配者に逆らうことを許さない。4. 設定: 未来のディストピア都市。さて、もう少し時間ができたので、学生のエッセイの入念な採点に戻らせていただきます。学問の厳しさから逃れることはできませんからね!======================================================CPU times: user 2.16 ms, sys: 1.74 ms, total: 3.89 msWall time: 2.84 s
これらのシナリオの違いは、システムプロンプトの適応性を強調しています。詳細な物語を引き出すか、簡潔で直接的な回答を得るかの目標に応じて、柔軟に調整することができます。これらのプロンプトを通じて、タスクにシームレスに適合するモデルの出力範囲を定義することができます。
テキスト要約および文脈に即した質問応答
システムプロンプトは、質問に答えるための文脈を強制することもできます。この例では、Llama 2 Chatに対してチャットボットの役割を指定し、Jeff Bezosによって書かれた1997年のアマゾン株主への手紙のみで質問に回答させます。
テキストを読み、システムプロンプトに文字列の挿入を行います。完全な例は付属のノートブックに示されています。
system_prompt = f"""あなたは知識豊かなチャットボットです。次のコンテキストのみを使用して質問に答えてください:{Amazon_Shareholder_Letter_1997}以下のルールに常に従ってください:- 無意味なテキストを含まない、読みやすいテキストを生成してください。- 要求された出力のみを生成し、その前または後に他のテキストを含めないでください。- お礼を言ったり、喜んで助けることを示したり、AIエージェントであることを示したりしないでください。直接に答えてください。- 北米のビジネスドキュメントで一般的に使用される専門的な言語を生成してください。- 不快な言葉や汚い言葉を生成しないでください。"""user_prompt = "株主への手紙の要約を教えてください"
%%timepayload = { "inputs": [[ {"role": "system", "content": system_prompt}, {"role": "user", "content": user_prompt}, ]], "parameters": {"max_new_tokens": 512, "top_p": 0.9, "temperature": 0.6}}response = predictor.predict(payload, custom_attributes='accept_eula=true')print_dialog(payload, response)
ユーザー: 株主への手紙の要約を教えてください アシスタント: かしこまりました、以下が株主への手紙の要約です: Amazon.comの創設者兼CEO、Jeffrey P. Bezos氏が、1997年の同社の業績と将来の展望について株主に向けて書いています。同氏は、オンライン書籍販売での市場リーダーへの成長を強調しています。1996年の売上高が1570万ドルから1997年には1億4780万ドルに成長し、顧客数も18万人から151万人に増加しました。同氏はまた、顧客満足度と長期的な市場リーダーシップに焦点を当て、大胆な投資の決断と効率的な文化によってこのアプローチがもたらす成果についても触れています。同氏はまた、1997年の事業インフラの拡大、戦略的パートナーとの長期的な関係の樹立、従業員数の増加など、同社の成果についてもレビューしています。1998年の目標としては、ブランドと顧客基盤の強化と拡大、製品提供に音楽を追加する計画などが挙げられています。手紙全体を通じて、Amazon.comは顧客満足度、長期的な市場リーダーシップ、成長をサポートするシステムとインフラへの持続的な投資に焦点を当てています。====================================================== CPU times: user 17.9 ms, sys: 1.8 ms, total: 19.7 msWall time: 8.08 s
デモに示されたように、Llama 2 Chatはシステムのプロンプト内で厳格なガードレールに従うことができ、与えられた文脈から意味のある方法で質問に答えることができます。この能力は、顧客の間で非常に人気のある「Retrieval Augmented Generation (RAG)」などの手法の道を開いています。SageMakerと一緒にRAGアプローチについて詳しく知りたい場合は、Retrieval Augmented Generation (RAG)を参照してください。
結論
Llama 2 Chatを強力なパフォーマンスを達成するために展開するには、技術的な専門知識と戦略的な洞察力の両方が必要です。モデルの広範な能力を最大限に活用するためには、創造的なプロンプト技術と推論パラメータの調整を理解し、適用する必要があります。この記事では、SageMakerを使用してLlama 2 Chatを統合するための効果的な方法を概説しました。私たちは実用的なヒントや技術に焦点を当て、Llama 2 Chatの強力な機能を活用するための効果的なパスを説明しました。
以下は主なポイントです:
- 環境による動的な制御 – Llama 2 Chat内の温度制御は、単なる調整以上の重要な役割を果たします。これらはモデルのコンパスとして機能し、創造的な幅広さと分析的な深さを導きます。これらのコントロールで正しいバランスを取ることは、創造的な探索から正確かつ一貫した出力へと導くことができます。
- 明確な命令 – データ重視のタスク、特にデータレビューなどの領域で迷宮を進む際には、命令の正確さが私たちの指針となります。明確な指示によって導かれるLlama 2 Chatは、その広範な能力を特定の意図に合わせて最大限に発揮します。
- 構造化された洞察力 – ステップバイステップのアプローチにより、Llama 2 Chatは膨大な量のデータを方法論的に探索することが可能であり、一見して明らかではない微妙なパターンや洞察力を発見することができます。
Llama 2 ChatをSageMaker JumpStartと統合することは、単に強力なツールを利用することだけではありません。それはあなたの独自のニーズと目標に合わせたベストプラクティスのセットを育成することです。そのフルポテンシャルは、Llama 2 Chatの強みを理解するだけでなく、モデルとの作業方法を継続的に洗練させることによってのみ発揮されます。この記事から得た知識を活用して、Llama 2 Chatを発見し、実験してみてください。この実践的な経験を通じて、あなたのAIアプリケーションは大いに恩恵を受けることができます。
リソース
- Llama 2 foundation models from Meta are now available in Amazon SageMaker JumpStart
- Fine-tune Llama 2 for text generation on Amazon SageMaker JumpStart
- Improve throughput performance of Llama 2 models using Amazon SageMaker
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles
- 未来を点火する:TensorRT-LLMのリリースにより、AI推論のパフォーマンスが向上し、RTXを搭載したWindows 11 PCで新しいモデルのサポートが追加されました
- 「速さの中で:NVIDIAがオムニバースクラウドサービスをMicrosoft Azure上で発表し、自動車のデジタル化を加速する」
- 「言語モデルは単語以上に推論できるのか?複雑なタスクのための多層隠れ状態における暗黙の推論の探求」
- 「ストリーミングLLMの紹介 無限長の入力に対するLLM」
- 自分自身のGPTをChatGPTのGPTで作成しましょう!
- 3Dボディモデルに音声が付きました:Meta AIが完全な人体に対して正確な3D空間音響を生成できる人工知能モデルを紹介
- Google AIが簡単なエンドツーエンドの拡散ベースのテキスト読み上げE3-TTSを提案します:拡散に基づくシンプルで効率的なエンドツーエンドのテキスト読み上げモデルに基づくものです