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

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

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

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など まとめ