オンライン チャット アプリケーションで人間のような応答を生成する複雑さについて考えてみましょう。インフラストラクチャを効率的にし、現実的な対応を実現するにはどうすればよいでしょうか?解決策は AI 言語モデルです。このガイドでは、チャット アプリケーション専用に微調整された 130 億パラメータの言語モデルであるMetaの新しいllama13b-v2-chat LLM の a16z-infra の実装について詳しく説明します。このモデルは、AI モデル ホスティング サービスである Replicate でホストされており、わずか数行のコードまたは単純な API 呼び出しで複雑で強力なモデルを操作できます。
このガイドでは、llama13b-v2-chat モデルの概要、その入力と出力についての考え方、チャット補完を作成するためにそれを使用する方法について説明します。また、 AIModels.fyiを使用して類似のモデルを見つけて AI アプリケーションを強化する方法についても説明します。それでは、AI の専門用語を切り取って核心に迫りましょう。
Replicate で利用可能なLLaMA13b-v2-chatモデルは、 a16z-infra チームによって作成され、Meta の新しい LLaMA v2 モデルの上に構築されています。 Meta は、人間の言語をよりよく理解して生成することを目的として LLaMA を作成しました。これから検証するチャット モデルは、人間のユーザーと AI チャットボットの間の対話を改善するためにさらに微調整されています。このモデルは 130 億ものパラメーターを備えており、この特定のユースケースに合わせて大幅に調整されています。このモデルおよび a16z-infra による他のモデルの詳細については、 AIModels.fyiの作成者のページで確認できます。
llama13b-v2-chat モデルのレプリケート実装では、予測に強力な Nvidia A100 (40GB) GPU が使用され、予測あたりの平均実行時間は 7 秒です。 1 回あたりの価格はわずか 0.014 ドルなので、低予算のプロジェクトやスタートアップにとって広く利用できます。
モデルに何が入り、何がモデルから出てくるかを理解することは、モデルの機能を効果的に活用するための鍵となります。それでは、モデルの入力と出力について理解しましょう。
モデルは次の入力を受け入れます。
prompt
(文字列): Llama v2 に送信するプロンプト。
max_length
(整数): 生成するトークンの最大数。通常、1 つの単語は 2 ~ 3 個のトークンで構成されることに注意してください。デフォルト値は 500 です。
temperature
(数値): 出力のランダム性を調整します。 1 より大きい場合はランダム、0 は決定的です。適切な開始値は 0.75 です。
top_p
(数値): テキストのデコード中に、最も可能性の高いトークンの上位 p パーセントからサンプリングします。可能性の低いトークンを無視するには、この値を低くします。デフォルト値は 1 です。
repetition_penalty
(数値): 生成されたテキスト内で繰り返される単語に対するペナルティを提供します。 1はペナルティなし。 1 より大きい値は繰り返しを妨げ、1 より小さい値は繰り返しを促進します。
debug
(ブール値): ログにデバッグ出力を提供するために使用されます。
モデルの作成者は、プロンプトを作成するときに次の構造に従うことを推奨していることに注意してください。
User: <your prompt goes here> Assistant:
例えば...
User: give me tips on things to do in Maine Assistant:
モデルは次の出力を生成します。
{ "type": "array", "items": { "type": "string" }, "title": "Output", "x-cog-array-type": "iterator", "x-cog-array-display": "concatenate" }
さて、このモデルの使い方の核心部分に移りましょう。
コードに手を出した初心者であっても、ベテランであっても、llama13b-v2-chat モデルを使用して現実的なチャット補完を作成するのは非常に楽しいものです。
ただ遊んでいてモデルがどのように機能するかを知りたい場合は、このデモ リンクを使用してモデルのインターフェイスを操作し、その仕組みを理解してください。プロジェクトに実装する準備ができたら、以下の手順に従います。
npm install Replicate
次に、API トークンを認証し、環境変数として設定します。このトークンは個人的なものであるため、機密として保持する必要があります。
export REPLICATE_API_TOKEN=r8_******
次に、次のスクリプトを使用してモデルを実行できます。
import Replicate from "replicate"; const replicate = new Replicate({ auth: process.env.REPLICATE_API_TOKEN, }); const output = await replicate.run( "a16z-infra/llama13b-v2-chat:df7690f1994d94e96ad9d568eac121aecf50684a0b0963b25a41cc40061269e5", { input: { prompt: "..." } } );
予測が完了したときに呼び出される Webhook を設定することもできます。これは、ログの管理や自動アラートの設定に役立つ可能性があります。
const prediction = await replicate.predictions.create({ version: "df7690f1994d94e96ad9d568eac121aecf50684a0b0963b25a41cc40061269e5", input: { prompt: "..." }, webhook: "https://example.com/your-webhook", webhook_events_filter: ["completed"] });
詳細については、いつでもReplicateに関するドキュメントを参照してください。
あなたのアプリケーション用に他のチャットボットを試してみませんか? AIModels.fyi を使用すると、llama13b-v2-chat に類似したモデルを簡単に見つけることができます。
ここでは、特定のニーズを満たす他の AI モデルを見つけるのに役立つステップバイステップのガイドを示します。
AIModels.fyiにアクセスして探索を始めてください。
「text-to-text」、「言語モデル」などのキー フレーズを入力します。検索エンジンは、クエリに適合するモデルのリストを提供します。
検索を絞り込むためのフィルターは、検索結果ページにあります。タイプ、コスト、人気、さらには特定の作成者別にモデルをフィルタリングして並べ替えることができます。たとえば、予算に優しいテキストツーテキスト モデルを探している場合は、モデルを価格で並べ替えて、最も安いオプションを見つけることができます。
このガイドでは、機能が豊富でコスト効率の高い言語モデルである LLaMA v2 の可能性を探りました。これは、次のチャット アプリケーションのバックボーンとなる可能性があり、微妙で現実的な会話を強化します。これで、このモデルを実装し、その入出力を理解し、関連するチャット完了を効果的に生成する方法がわかりました。
あなたの想像力をこれらの AI ツールと融合させることで、人工知能の広大な世界に飛び込み、新しくてエキサイティングなプロジェクトを作成できます。次にどこへ行くのか楽しみです。より多くのチュートリアルを購読し、新しく改善された AI モデルの最新情報を入手し、次の AI プロジェクトの創造力を養うことを忘れないでください。それまで、AI の冒険を楽しんでください。忘れずに私の twitterで挨拶してください。