Meta: Llama 3.1 70B Instruct は Meta のテキストモデルで、2024-07-23 にリリースされました。TheDrummer: UnslopNemo 12B は TheDrummer のテキストモデルで、2024-11-08 にリリースされました。どちらも api14 を通じてチャット補完モデルとして提供されており、どちらもテキストを入力として受け取りテキストを出力するため、画像や音声は扱いません。名前を見れば必要なことのほとんどが一目でわかります。一方は大規模ラボによる 70B の汎用インストラクションチューニング済みモデルで、もう一方は特定の出力スタイルを狙った 12B のコミュニティファインチューンです。
最も明確な技術的違いはコンテキスト長です。UnslopNemo 12B は最大 1,024,000 トークンを受け付け、Llama 3.1 70B Instruct は最大 131,072 トークンを受け付けます。プロンプトや取得したドキュメント群が非常に大きい場合、チャンク分割なしで収まるのは UnslopNemo の方です。もう一つの意味のある違いはツールです。Llama 3.1 70B Instruct は tools と tool_choice をサポートするため、関数呼び出しやエージェントスタイルのループを直接駆動できます。UnslopNemo 12B はこれらのパラメータを列挙していないため、モデル自体に構造化されたツール呼び出しを出力させる必要がある場合に選ぶモデルではありません。価格については両者はほぼ同じなので、ここではコストは決め手になりません。どちらも structured_outputs、temperature、top_p、top_k、repetition_penalty、presence_penalty、frequency_penalty、logit_bias、seed、stop をサポートするため、サンプリングと出力の調整はどちらでも同じように機能します。
日々の作業では、タスクが実際に必要とするものに基づいて選んでください。エージェント、関数を呼び出す必要がある検索パイプライン、またはモデルにどのツールを呼び出すかを判断させる必要があるものを構築しているなら、Llama 3.1 70B Instruct が自然な選択です。2 つのうちツールサポートがあるのはこれだけだからです。長いドキュメントの要約、大きなコードベースや文字起こしを 1 つのリクエストに詰め込む作業、または非常に大きなウィンドウを持つ軽量なモデルが欲しい創造的・会話的な文章作成に取り組んでいるなら、UnslopNemo 12B の方が適しています。単純なインストラクション追従、分類、抽出、書き換えで、入力が 131,072 トークンに余裕をもって収まり、ツールが関与しない場合は、どちらのモデルでも仕事をこなせるので、能力ではなく出力スタイルで選べます。
どちらのモデルも api14 を通じた呼び出しは同じように機能します。API が OpenAI 互換だからです。クライアントを api14 のベース URL に向け、messages 配列を含む通常のチャット補完リクエストを送り、model フィールドを設定します。Llama 3.1 70B Instruct を使うには、model を meta-llama/llama-3.1-70b-instruct に設定します。UnslopNemo 12B を使うには、model を thedrummer/unslopnemo-12b に設定します。temperature、max_tokens、stop、structured_outputs を含むリクエストボディのその他すべてはそのままです。2 つの切り替えは 1 行の変更なので、両方を設定値の背後に置き、統合を書き直すことなくリクエストごとにルーティングできます。
逆方向に注目すべきケースが 1 つあります。UnslopNemo 12B のコンテキストウィンドウははるかに大きいものの、ツールをサポートしていないため、長いコンテキストのタスクで関数呼び出しも必要な場合は、ウィンドウが小さいにもかかわらず Llama 3.1 70B Instruct が依然として正しい選択です。その場合はツール使用を諦めるのではなく、入力が 131,072 トークン以内に収まるようにチャンク分割する必要があります。