Upgrade to Pro — share decks privately, control downloads, hide ads and more …

LLMプロと開発・運用のためのツール紹介

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

 LLMプロと開発・運用のためのツール紹介

Avatar for hiroki kawauchi

hiroki kawauchi

June 03, 2024
Tweet

More Decks by hiroki kawauchi

Other Decks in Technology

Transcript

  1. AI 4 ▪ 河内 大輝 Kawauchi Hiroki ▪ DeNA AI技術開発部ビジョン・スポーツG23秋新卒

    ▪ 今担当:画像系PJ、LLM系PJ ▪ 大学 ▪ 都市・地理分野でのCV/DS応用(衛星画像解析など ▪ インターンなど ▪ 2022 DeNAサマーインターン ▪ 衛星画像データ解析プロダクトを作る会社でのPdM/ リード ▪ 趣味 ▪ 脱出ゲーム、ボドゲ、街歩き/旅行、アート鑑賞 ▪ Kaggle.. 略歴
  2. AI 6 • LLMを用いたアプリケーション開発の基本工程 ◦ 一般的なアプリケーション開発 ◦ Prompt Engineering ▪

    LLMから適切な回答が得られるように、自然言語指示を工夫 ◦ RAG(Retrieval Augmented Generation)Pipeline 設計 ▪ LLMモデル自体を変えずに、追加知識に基づく回答を可能にする ▪ LLMのHallucination(嘘)を回避 ◦ LLMモデル自体のFine Tuning ▪ 基本的にコスト高なので今回の資料では割愛 LLMアプリケーション開発の概要
  3. AI 9 RAG(Retrieval Augmented Generation) ChatGPT - LLMシステム開発大全 - Speaker

    Deck • LLMのHalucination(Groundingしていない嘘)を回避するための手法 • 事実関係を含んだ外部documentをBackendで文脈として付与する
  4. 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
  5. AI 12 • LLMを用いたアプリケーション開発の基本工程 ◦ 一般的なアプリケーション開発 ◦ Prompt Engineering ◦

    RAGPipeline 設計 ◦ Pipelineとして複雑かつ、各ステップが不確実性を含む(確率論的) ▪ →Pipelineの設計・Feasibility検証を高速に回す必要 • PoC/MVP開発での検証速度の要請 ◦ 従来のAIモデル開発に比べて、ユーザ検証のハードルが著しく低下 ◦ 従来のWebアプリ開発に近い速度でのユーザー検証が可能かつ必要 ▪ →同時にユーザー価値検証を高速に回す必要 LLMアプリ開発の難しさ
  6. AI 16 • Difyのメリット1 ◦ ローカル(docker-composeコマンド一発)開発可能で商用可能 ◦ 一部条件を含むApache 2 license

    ▪ 以下に該当する場合は、商用ライセンスが必要 • マルチテナント型SaaS • Difyのロゴ・著作権情報を削除・変更する ▪ 社内ツールや、サーバーごとの提供ソリューションに使う分には問 題さそう ▪ 詳細→Difyの商用利用に関して詳しく聞いてみたなど Why Dify?
  7. AI 25 • LangChain ◦ Difyでやったような機能をより柔軟に実装可能なライブラリ • LangSmith ◦ ざっくりLangChainのGUI版・最近Azure上(セキュア)で購入可能に

    ◦ 実行のトレースに加え、 データセット管理・アノテーション・プロンプト管理も ◦ 詳細 ▪ LangChain社LLMOpsツール「LangSmith」を触ってみた(詳細解説つ き) - ABEJA Tech Blog • Azure PromptFlow ◦ Azureのサービスが前提になるが、上記と同様の機能が可能 ◦ Azure上のMLサービスなどと組み合わせるなら良さそう LLMOpsツールいくつか
  8. AI 27 • LLMを用いたアプリケーション開発の技術的難易度 ◦ Prompt Engineering ◦ RAG(Retrieval Augmented

    Generation) ◦ 不確実性の高いモジュールの組み合わせを高速に検証したい • PoC/MVP開発での検証速度の要請 ◦ 従来のAIモデル開発に比べて、ユーザ検証のハードルが著しく低下 ◦ 従来のWebアプリ開発に近い速度でのユーザー検証が可能かつ必要 • 2024.5現在のツール ◦ PoC/MVP開発のためのプロトツール:Difyなど ◦ LLMOpsのためのツール: ▪ LangChain/LangSmith, Azure Prompt Flowなど まとめ