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
LLMプロと開発・運用のためのツール紹介
Search
hiroki kawauchi
June 03, 2024
Technology
0
36
LLMプロと開発・運用のためのツール紹介
hiroki kawauchi
June 03, 2024
Tweet
Share
More Decks by hiroki kawauchi
See All by hiroki kawauchi
最近のSfM手法まとめ - COLMAP / GLOMAPを中心に -
kwchrk
11
5.7k
CVPR2024 参加報告
kwchrk
0
320
第61回 コンピュータビジョン勉強会「Mip-Splatting: Alias-free 3D Gaussian Splatting」
kwchrk
1
750
20230827_PLATEAU_Hackathon_G
kwchrk
0
660
Other Decks in Technology
See All in Technology
見てわかるテスト駆動開発
recruitengineers
PRO
4
270
そのコンポーネント、サーバー?クライアント?App Router開発のモヤモヤを可視化する補助輪
makotot
3
280
JavaScript 研修
recruitengineers
PRO
2
130
事業価値と Engineering
recruitengineers
PRO
1
190
LLMエージェント時代に適応した開発フロー
hiragram
1
410
開発と脆弱性と脆弱性診断についての話
su3158
1
1.1k
第4回 関東Kaggler会 [Training LLMs with Limited VRAM]
tascj
12
1.7k
mruby(PicoRuby)で ファミコン音楽を奏でる
kishima
1
220
TypeScript入門
recruitengineers
PRO
8
1.4k
広島銀行におけるAWS活用の取り組みについて
masakimori
0
130
AIとTDDによるNext.js「隙間ツール」開発の実践
makotot
5
660
退屈なことはDevinにやらせよう〜〜Devin APIを使ったVisual Regression Testの自動追加〜
kawamataryo
1
130
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Six Lessons from altMBA
skipperchong
28
4k
How to Ace a Technical Interview
jacobian
279
23k
The Cost Of JavaScript in 2023
addyosmani
53
8.8k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.6k
Into the Great Unknown - MozCon
thekraken
40
2k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
Mobile First: as difficult as doing things right
swwweet
223
9.9k
Building an army of robots
kneath
306
46k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
Transcript
AI 2024.05.16 Hiroki Kawauchi 株式会社ディー・エヌ・エー + GO株式会社 LLMプロト開発・運用のための ツール紹介
AI 2 項目 00|自己紹介 01|LLMアプリ開発の概要と難しさ 02|プロト開発のためのツール 03|運用(LLMOps)に繋げるツール 04|まとめ
AI 3 00 自己紹介
AI 4 ▪ 河内 大輝 Kawauchi Hiroki ▪ DeNA AI技術開発部ビジョン・スポーツG23秋新卒
▪ 今担当:画像系PJ、LLM系PJ ▪ 大学 ▪ 都市・地理分野でのCV/DS応用(衛星画像解析など ▪ インターンなど ▪ 2022 DeNAサマーインターン ▪ 衛星画像データ解析プロダクトを作る会社でのPdM/ リード ▪ 趣味 ▪ 脱出ゲーム、ボドゲ、街歩き/旅行、アート鑑賞 ▪ Kaggle.. 略歴
AI 5 01 LLMアプリ開発の概要と難しさ
AI 6 • LLMを用いたアプリケーション開発の基本工程 ◦ 一般的なアプリケーション開発 ◦ Prompt Engineering ▪
LLMから適切な回答が得られるように、自然言語指示を工夫 ◦ RAG(Retrieval Augmented Generation)Pipeline 設計 ▪ LLMモデル自体を変えずに、追加知識に基づく回答を可能にする ▪ LLMのHallucination(嘘)を回避 ◦ LLMモデル自体のFine Tuning ▪ 基本的にコスト高なので今回の資料では割愛 LLMアプリケーション開発の概要
AI 7 Prompt Engineering ChatGPT - LLMシステム開発大全 - Speaker Deck
AI 8 Prompt Engineering ChatGPT - LLMシステム開発大全 - Speaker Deck
AI 9 RAG(Retrieval Augmented Generation) ChatGPT - LLMシステム開発大全 - Speaker
Deck • LLMのHalucination(Groundingしていない嘘)を回避するための手法 • 事実関係を含んだ外部documentをBackendで文脈として付与する
AI 10 • 機能を追加していけばいくほど、 (System) Promptが長くなりがち ◦ 長くなれば忘却・出力反映されない • 適切な対処が必要
◦ 可能なら圧縮(要約) ◦ 複数のステップに分割(CoT) ◦ 条件分岐やReActなど 各機能=エージェント的に分割 LLMアプリ開発の難所1:Prompt Engineering 図:Same Task, More Tokens: the Impact of Input Length on the Reasoning Performance of Large Language Models
AI 11 • Prompt Engineeringも含め、確率論的に振る舞うモジュールの組み合わせ • RAGを構成する複数Stepを改善することが必要 LLMアプリ開発の難所2:RAG ChatGPT -
LLMシステム開発大全 - Speaker Deck
AI 12 • LLMを用いたアプリケーション開発の基本工程 ◦ 一般的なアプリケーション開発 ◦ Prompt Engineering ◦
RAGPipeline 設計 ◦ Pipelineとして複雑かつ、各ステップが不確実性を含む(確率論的) ▪ →Pipelineの設計・Feasibility検証を高速に回す必要 • PoC/MVP開発での検証速度の要請 ◦ 従来のAIモデル開発に比べて、ユーザ検証のハードルが著しく低下 ◦ 従来のWebアプリ開発に近い速度でのユーザー検証が可能かつ必要 ▪ →同時にユーザー価値検証を高速に回す必要 LLMアプリ開発の難しさ
AI 13 02 プロト開発のためのツール
AI 14 • LLMアプリ開発の難しさ ◦ Pipelineの設計・Feasibility検証を高速に回す必要 ◦ 同時にユーザー価値検証を高速に回す必要 • 上記のような背景から、エンジニアもローコードに、Pipeline管理できる
ツールほしい ◦ そこで注目が集まったのがDifyのワークフロー(Pipeline管理) Dify
AI 15 • Difyとは? ◦ ノーコード・ローコードでLLMのワークフローを直感的に扱えるツール ◦ SaaSとしても、OSSとしても提供され商用利用可能 ▪ https://github.com/langgenius/dify
◦ RAG構成やログ機能も付属 Why Dify?
AI 16 • Difyのメリット1 ◦ ローカル(docker-composeコマンド一発)開発可能で商用可能 ◦ 一部条件を含むApache 2 license
▪ 以下に該当する場合は、商用ライセンスが必要 • マルチテナント型SaaS • Difyのロゴ・著作権情報を削除・変更する ▪ 社内ツールや、サーバーごとの提供ソリューションに使う分には問 題さそう ▪ 詳細→Difyの商用利用に関して詳しく聞いてみたなど Why Dify?
AI 17 • Difyのメリット2 ◦ 各モデルプロバイダのモデルを 利用可能 ◦ これまでもプロバイダに紐づい たローコードツールはあった
▪ Azure Prompt Flowなど Why Dify?
AI 18 • Difyのメリット3:直感的なWorkflow機能 ◦ RAG・質問分類や、コードブロックなどのブロックを簡単に組み合わせ可 ◦ 変数もある程度わかりやすく管理 Why Dify?
AI 19 • Difyのメリット4:直感的なRAG機能 ◦ RAGのPipelineをGUIのみで構成できる Why Dify?
AI 20 • Difyのメリット4:直感的なRAG機能 ◦ 全文検索やハイブリッド検索、rerankのモデル調整などもGUIで可能 Why Dify?
AI 21 • Difyのメリット4:直感的なRAG機能 ◦ 全文検索やハイブリッド検索、rerankのモデル調整などもGUIで可能 ◦ Why Dify?
AI 22 • Difyのメリット5:実行トレース・ダッシュボード機能 ◦ ユーザーの利用履歴や利用回数・アクティブユーザー数など ◦ ユーザ検証やLLMOpsにつながる Why Dify?
AI 23 03 運用(LLMOps)に繋げるツール
AI 24 • LLMOpsとは ◦ LLMを効果的に管理し、LLMのデプロイ、メンテナンス、安全かつ責任 ある利用を保証する ◦ LLMOps https://speakerdeck.com/rkaga/llmops-at-loglass-now
AI 25 • LangChain ◦ Difyでやったような機能をより柔軟に実装可能なライブラリ • LangSmith ◦ ざっくりLangChainのGUI版・最近Azure上(セキュア)で購入可能に
◦ 実行のトレースに加え、 データセット管理・アノテーション・プロンプト管理も ◦ 詳細 ▪ LangChain社LLMOpsツール「LangSmith」を触ってみた(詳細解説つ き) - ABEJA Tech Blog • Azure PromptFlow ◦ Azureのサービスが前提になるが、上記と同様の機能が可能 ◦ Azure上のMLサービスなどと組み合わせるなら良さそう LLMOpsツールいくつか
AI 26 04 まとめ
AI 27 • LLMを用いたアプリケーション開発の技術的難易度 ◦ Prompt Engineering ◦ RAG(Retrieval Augmented
Generation) ◦ 不確実性の高いモジュールの組み合わせを高速に検証したい • PoC/MVP開発での検証速度の要請 ◦ 従来のAIモデル開発に比べて、ユーザ検証のハードルが著しく低下 ◦ 従来のWebアプリ開発に近い速度でのユーザー検証が可能かつ必要 • 2024.5現在のツール ◦ PoC/MVP開発のためのプロトツール:Difyなど ◦ LLMOpsのためのツール: ▪ LangChain/LangSmith, Azure Prompt Flowなど まとめ