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
210
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
LLMプロと開発・運用のためのツール紹介
hiroki kawauchi
June 03, 2024
More Decks by hiroki kawauchi
See All by hiroki kawauchi
最近のSfM手法まとめ - COLMAP / GLOMAPを中心に -
kwchrk
12
11k
CVPR2024 参加報告
kwchrk
0
1.2k
第61回 コンピュータビジョン勉強会「Mip-Splatting: Alias-free 3D Gaussian Splatting」
kwchrk
1
1k
20230827_PLATEAU_Hackathon_G
kwchrk
0
800
Other Decks in Technology
See All in Technology
美しいコードを書くためにF#を学んでみた話
yud0uhu
1
410
タスクの複雑さでモデルを選ぶ ── Thompson Samplingで動かす“トークン/コスト最適化
satohy0323
0
360
なぜ私たちのSREプラクティスはなかなか機能しないのか 〜システムより先に組織を見る〜 / Why our SRE practices aren't really working
vtryo
3
3.7k
しぶいSRE: サーバから見えない障害にどう向き合うか。ラストワンマイルのデバッグ実践 / Shibui SRE
kanny
13
6.1k
公式ドキュメントの歩き方etc
coco_se
0
100
穢れた技術選定について
watany
4
450
関数型の考えを TypeScript に持ち込んで、テストしやすい純粋関数を増やす / Pure at the Core, Effects at the Edge: Bringing Functional Thinking into TypeScript
kaminashi
1
110
Claude Code 珍プレー好プレー
shinyasaita
0
330
ADDF - ループエンジニアリングするフレームワークを作ったら/I Didn't Set Out to Build Loop Engineering, But ADDF Did
fruitriin
0
120
SRE本の知られざる名シーン / The Hidden Gems of Google SRE Book
nari_ex
1
380
環境凍結という Toil を倒す -セルフサービス型 Ephemeral テスト環境の 設計と実践
shirouz
1
2.3k
Claude Codeとハーネスについて考えてみる
oikon48
19
9.4k
Featured
See All Featured
We Are The Robots
honzajavorek
0
280
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Pragmatic Product Professional
lauravandoore
37
7.4k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
460
Automating Front-end Workflow
addyosmani
1370
210k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
220
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
930
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
270
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
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など まとめ