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
31
LLMプロと開発・運用のためのツール紹介
hiroki kawauchi
June 03, 2024
Tweet
Share
More Decks by hiroki kawauchi
See All by hiroki kawauchi
最近のSfM手法まとめ - COLMAP / GLOMAPを中心に -
kwchrk
11
5.1k
CVPR2024 参加報告
kwchrk
0
300
第61回 コンピュータビジョン勉強会「Mip-Splatting: Alias-free 3D Gaussian Splatting」
kwchrk
1
710
20230827_PLATEAU_Hackathon_G
kwchrk
0
650
Other Decks in Technology
See All in Technology
CDKコード品質UP!ナイスな自作コンストラクタを作るための便利インターフェース
harukasakihara
2
240
振り返りTransit Gateway ~VPCをいい感じでつなげるために~
masakiokuda
3
210
Maintainer Meetupで「生の声」を聞く ~講演だけじゃないKubeCon
logica0419
0
110
組織内、組織間の資産保護に必要なアイデンティティ基盤と関連技術の最新動向
fujie
0
280
モニタリング統一への道のり - 分散モニタリングツール統合のためのオブザーバビリティプロジェクト
niftycorp
PRO
1
520
【あのMCPって、どんな処理してるの?】 AWS CDKでの開発で便利なAWS MCP Servers特集
yoshimi0227
6
950
ロールが細分化された組織でSREは何をするか?
tgidgd
1
420
アクセスピークを制するオートスケール再設計: 障害を乗り越えKEDAで実現したリソース管理の最適化
myamashii
1
670
LLM拡張解体新書/llm-extension-deep-dive
oracle4engineer
PRO
24
6.3k
「Chatwork」のEKS環境を支えるhelmfileを使用したマニフェスト管理術
hanayo04
1
400
Microsoft Defender XDRで疲弊しないためのインシデント対応
sophiakunii
1
320
データ駆動経営の道しるべ:プロダクト開発指標の戦略的活用法
ham0215
1
100
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.5k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
How STYLIGHT went responsive
nonsquared
100
5.6k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
GitHub's CSS Performance
jonrohan
1031
460k
KATA
mclloyd
30
14k
How to train your dragon (web standard)
notwaldorf
96
6.1k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.7k
Docker and Python
trallard
45
3.5k
Statistics for Hackers
jakevdp
799
220k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
830
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など まとめ