ざっくり、大規模言語モデル(LLM)とLangChainについて

ざっくり、大規模言語モデル(LLM)とLangChainについて

エンジニアとして、案件を探している時に、「LLM開発」という言葉を見つけた。
気になって調べてみたら、LLMとは大規模言語モデルと呼ばれるものだそうだ。
最近の技術で、今後伸びていくことが期待されている。そこで、簡単ではあるが、どのようなものか以下に紹介する。

大規模言語モデル(LLM)

大規模言語モデルとは?

そもも、大規模言語モデルとは何か?
「大規模言語モデル入門」山田育矢 監修/著,鈴木正敏,山田康輔,李凌寒 著 によると、

「大規模なテキストデータで訓練された大規模なパラメータで構成されるニューラルネットワークです。」
とある。

CahtGPTのようなAIに欠かせない技術だと思えばよいだろう。

特徴としては、人間に近い流暢な会話が可能であり、自然言語を用いたさまざまな処理を高精度で行えることである。

参考記事:Nomura Reserch Insititute(NRI)
https://www.nri.com/jp/knowledge/glossary/lst/ta/llm

大規模言語モデル(LLM)の用途

大規模言語モデルは、人間のような自然な受け答えや文章の作成が可能であることから、次のような用途で活用されている。
* カスタマーサポート
* 文章の作成
* 文章の校正
* リアルタイムの翻訳
* プログラムのバグチェック
など

参考記事:日立ソリューソンズ・クリエイト
https://www.hitachi-solutions-create.co.jp/column/technology/llm.html#h2-4

LangChain

「LLM開発」から興味を持ち、Udemyの動画教材で実装を学びたいと考え、
「LangChainによる大規模言語モデル(LLM)アプリケーション開発入門―GPTを使ったチャットボットの実装まで」に出会った。

ここでで出てきたのが、「LangChain」という言葉である。

LangChainとは?

LangChainとは「ChatGPTなどの大規模言語モデルの機能拡張を効率的に実装するためのライブラリ」である。

参考記事:
https://zenn.dev/umi_mori/books/prompt-engineer/viewer/langchain_overview

LangChainのできること

ChatGPTのような言語モデルは非常に汎用性が高いが、ビジネス現場でそのまま使用するには4つの制限がある。
LangChainによって、これらの4つの制限を解消することができる。
※ 注意:この文脈での「ChatGPT」とは、OpenAI社の公式のウェブアプリケーションを指す。

1. モデル選択
* ChatGPT: OpenAI社のモデルしか使用できない。
* LangChain: OpenAI社のChatGPTに限らず、GoogleのGemini・Meta社のLlama・Anthropic社のClaudeなど、大規模言語モデルを使い分ける(切り替える)ことが容易になる。

2. インフラ環境
* ChatGPT: ChatGPTの公式サービス上でしか、使用できない。
* LangChain: 社内の高いセキュリティ水準に対応したインフラ環境でアプリケーションを実行できる。

3. 拡張性
* ChatGPT: 既存のサービスに組み込むことはできない。
* LangChain: ChatGPTのAPIとLangChainを組み合わせることで、容易に既存のサービスに拡張できる。

4. カスタム機能
* ChatGPT: 公式サービスにはカスタム機能を追加するオプションは少ない(一部、ChatGPT Pluginで実現可能)。
* LangChain: ChatGPTの公式サービスにない任意のカスタム機能を追加できる。

参考記事:
https://zenn.dev/umi_mori/books/prompt-engineer/viewer/langchain_overview