Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
勉強会3_LLMを活用する技術について
Search
milky04
May 19, 2024
Programming
0
29
勉強会3_LLMを活用する技術について
社内勉強会資料です(2023/11/15)
milky04
May 19, 2024
Tweet
Share
More Decks by milky04
See All by milky04
勉強会2_機械学習のモデル学習と開発について
milky04
0
19
勉強会4_アップデートされたAssistantsAPIを試す
milky04
0
2k
勉強会1_SlackのAIチャットボットを作ってみた
milky04
0
36
Other Decks in Programming
See All in Programming
Mergeable Libraryで 高速なアプリ起動を実現しよう!
giginet
PRO
1
1.8k
The Future of Frontend i18n : Intl.MessageFormat
sajikix
1
2.4k
RAGの回答精度評価用のQAデータセットを生成AIに作らせた話
kurahara
0
210
Hono・Prisma・AWSでGeoなAPI開発
nokonoko1203
5
610
rbs-inlineを導入してYARDからRBSに移行する
euglena1215
1
200
Modular Monolith Go Server with GraphQL Federation + gRPC
110y
1
550
What we keep in mind when migrating from Serverless Framework to AWS CDK and AWS SAM
kasacchiful
1
130
現代のVueとTypeScript - 型安全の活用術
minako__ph
4
3.1k
Playwrightから始めるVisual Regression Testingのススメ by とっと
totto2727
2
1.8k
Method Swizzlingを行うライブラリにおけるマルチモジュール設計
yoshikma
0
100
楽しく簡単に!QRコードの読み取り機能を実装しよう
penguinsan_pg
1
190
めざせ!WKWebViewマスター! / WKWebView Master
marcy731
3
480
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
64
11k
The Power of CSS Pseudo Elements
geoffreycrofte
71
5.2k
How to train your dragon (web standard)
notwaldorf
85
5.6k
Building Better People: How to give real-time feedback that sticks.
wjessup
359
18k
Designing with Data
zakiwarfel
98
5k
Scaling GitHub
holman
458
140k
The Straight Up "How To Draw Better" Workshop
denniskardys
230
130k
How STYLIGHT went responsive
nonsquared
93
5.1k
Embracing the Ebb and Flow
colly
83
4.4k
Building a Scalable Design System with Sketch
lauravandoore
458
32k
Fireside Chat
paigeccino
31
2.9k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.4k
Transcript
LLMを活用する技術について
はじめに • LLM(Large Language Model(大規模言語モデル))が話題ですが、 LLMを使 用したシステム・アプリケーション開発はどのように行うのか? →LLMを活用する技術のうち、「LangChain」と「Open Interpreter」について、 簡単に解説や紹介をしていきます。
• 実際にコードも見て、 (時間の許す限り)動かしていきます。 ※最新の情報が反映できていない部分があるかもしれません。
LLMとは • Large Language Model(大規模言語モデル)の略 • 大量のテキストデータを使ってトレーニングされた自然言語処理モデル • ファインチューニング等により様々な自然言語処理タスクに適応可能 •
例:テキスト生成/分類、感情分析、情報抽出、文章要約、質問応答 →ChatGPTはLLMの応用例の1つ。LLMを対話特化にファインチューニング したもの。
LangChain • LLMと連携するアプリの開発を支援するライブラリ • 言語モデルアプリケーションの構築に使用可能な、多くのモジュー ルを提供している • モジュールを個別に使用したり、組み合わせたり繋げて(Chain)複雑 なアプリケーションの作成が可能
LangChainの主なモジュール • Language Model : 言語モデルによる推論の実行 └LLM : テキスト生成モデル └ChatModel
: チャットモデル • Prompt Template : ユーザー入力からのプロンプトの生成 • Chain : 複数のLLMやプロンプトの入出力を繋げる • Agent : ユーザーの要求に応じてどの機能をどういう順番で実行するかを決定 • Memory : 過去のやりとりに関する情報を保持 • Retrieval : 検索拡張生成 (RAG) • Callback : ロギング、モニタリング、ストリーミングなどで利用
Open Interpreter • LLMを活用して開発されたオープンソースのツール • 自然言語による対話を通じてローカル環境でコードを実行し、結果を返す • ローカル環境で動作するため、OSを直接操作させることが可能であり、ファイル容 量やネット接続の制約がない •
対応言語:Python/R/JavaScript/shell/AppScript/HTML • 例えば以下のような様々な事が可能 └「YouTubeから動画をDLしてアニメーションを作成して」「動画に字幕をつけて」 └「ローカルにあるファイルを開いて中身を書き換えて」など →AIアシスタントの開発等に有用
Open Interpreterの仕組み 1. ユーザー入力受付&LLM初期化 2. ユーザー入力に関連したcode snipetsを取得(自然言語で問い合わせると Pythonコードのチュートリアルを返すAPIにリクエストして取得) 3. LLMへの指示とcode
snipets、ユーザー入力、ユーザーのOS等の情報をまとめ てpromptを作成し、LLMに投げる 4. エラー発生等うまくいかない場合は目標達成するまで再実行 ↑上記流れを繰り返す • 仕組みの詳細については以下参考 └Open Interpreterのログ解析して、何が行われているのか確認してみた └Open Interpreterの実装を読み解く
実際にコードを見ていきます • GoogleColab • https://colab.research.google.com/drive/1MpqkWFNs0UFH47AJgpGaVc 7umirZCDRd?usp=sharing
おわりに • こうした技術を活用して、LLMを使用したシステム・アプリケーション開発を することで、アイデアや工夫次第で様々な可能性が広がると思います。 • 技術の発展スピードが凄く、追うのは中々大変ですが今後も注目であり、こ の先どう進歩していくか色々な意味で楽しみですね(先日もOpenAI DevDay で発表がありましたね)。 •
今回紹介した他にもLLM関連の技術は様々なものがあるので、興味のあ る方は調べてみてください。