Sunrabbit

小学生のためのLLM

作成: 2025-03-04

作成: 2025-03-04 21:53

最近の業界で最もホットなキーワード、それはLLMです。
Claude 3.5、Grok3などのモデルが次々と登場しており、
뤼튼(Riiid)やゼタのようにLLMを活用したサービスも増えています。

開発者として、いつか私たちのサービスにもLLMを導入することになるでしょうが、
その時に慌てないように、基本的な概念は事前に知っておくのが良いのではないでしょうか!
そこで、今回は主要なキーワードをまとめてみました。


LLM

LLM(Large Language Model)とは簡単に言うと
"テキストを入力すると理解し、テキストで回答するAI"です。
GPT-4o、Claude 3、Grok3などのモデルが代表的です。

最近のLLMは、単に文章を生成するだけでなく、
コーディング、画像分析、数式処理など、様々なタスクを実行します。
開発者がAIをツールとして活用する時代になったのではないでしょうか。

Tool Call、Function Call

LLMが単に回答するだけでなく、
"必要なツールを呼び出して作業を手伝って!"と要求することもできます。

例えば、

  • ユーザーが"この数字を計算して"と言うと
  • LLMが電卓APIを呼び出すように要求し
  • その結果をユーザーに返す方式です。

しかし、LLMが直接APIを呼び出すのではなく、
実際の呼び出しは私たちがコードで実装する必要がありますㅜㅜ


RAG (Retrieval-Augmented Generation)

LLMはどんなに賢くても、
既に学習したデータだけを使って回答を生成します。
では、最新のニュースや社内文書などの情報はどのように呼び出すのでしょうか?

そこで必要なのがRAGです。

  • 外部データベースから必要な情報をまず検索(Retrieval)し、
  • その情報に基づいて回答を生成(Generation)する方式です。

このようにすれば、LLMは最新の情報も反映できます。

つまり、LLMが答える前に、まず回答に必要な資料を入力し、要約したり、それを基に回答する事を
全てRAGと言うのです。

4B、8B、308B?数字は何を表しているの?

LLMモデルを見ると、8B、70Bなどの数字が付けられています。
これはモデルが学習したパラメータ(Parameter)の数を表しています。

  • 8B(80億個)→軽量モデル、高速
  • 308B(3080億個)→巨大モデル、低速

モデルが大きいほど精度は高くなりますが、速度とコストが負担になる可能性があります。
最近は軽量モデルをうまく活用することがトレンドです。

重いモデルほど応答速度が遅いため、
最終ユーザーの離脱率が高くなるためです。

マルチエージェント (Multi-Agent)

LLMが一人で全てを処理するのではなく、
複数の小さなAI(エージェント)が協力する方式です。

例えば:

  • 一つはコーディングを担当し
  • 一つはデータ分析を行い
  • 一つは文書整理を行うといった具合です。

このように役割を分担することで速度が速くなり、より正確な回答が可能になります。
まるで会社みたいですね。フロントエンドを担当する人もいれば、バックエンドを担当する人もいます。

Validation Feedback(検証フィードバック)

LLMが常に正しい答えを言うわけではありません。
間違った答えを出すこともあります。

そのためValidation Feedbackが必要です。

  • ユーザーがLLMの回答が正しいか間違っているかフィードバックすると
  • モデルがどんどん賢くなります。

これを自動化してLLMが自ら学習するシステムを作ることもできます。

または、Function Callや応答フォーマットが決まっている場合、
フォーマットに従わない場合は、フォーマットに従うように強制することもできます。

OpenAIでFunction Callを使う方法

実際にOpenAIのGPT-4oを使ってFunction Callを使おうとすると、
以下のように実装できます。

🔹 TypeScriptの例

このようにFunction Callを活用すると、
LLMは単なるテキスト生成だけでなく、
実際に機能を実行する**"本当に便利なAI"**へと進化することができます。


Agentica

このようなFunction Callで、引数の値を一つ一つ入力していく作業は非常に面倒な場合があります。
そこで、Vercel aiやLangChainなどはzodというライブラリを使って、
LLMが返した引数の値が正しいかどうか、Validation Feedbackを行います。

このようにして、精度の高いFunction Callを実行するのですが。

しかし、複雑な関数の引数の値を一つ一つzodでスキーマを作成するのは非常に面倒であり、
開発者にとっては"面倒くさい"と感じるポイントだと思います。

そこで、私はAgenticaというライブラリをお勧めします。

上記の簡単なコードだけで、3つのクラスにある関数とswaggerのエンドポイントを
Function Callとして指定し、会話時に自動的に呼び出されるように設定しました。

これにより、簡単な"チャットボットエージェント"が作成されました。


このように、LLM、AIを扱う領域はますます容易になってきています。
技術の進歩がどこまで進むのか、恐ろしいですね。

コメント0

SK C&C、顧客向けカスタマイズsLLM実装支援プラットフォーム「ソリューション LLMOps」を発表SK C&Cが、企業向けのカスタマイズされた小型LLM実装プラットフォーム「ソリューション LLMOps」をリリースしました。さまざまなファウンデーションモデルの活用とハイパーオートメーションの適用により、効率性を向上させています。
스타트업 커뮤니티 씬디스 (SeenThis.kr)
스타트업 커뮤니티 씬디스 (SeenThis.kr)
스타트업 커뮤니티 씬디스 (SeenThis.kr)
스타트업 커뮤니티 씬디스 (SeenThis.kr)

2024年5月20日