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

Foundation Model全盛時代を生きるAI/MLエンジニアの生存戦略

Foundation Model全盛時代を生きるAI/MLエンジニアの生存戦略

2023年7月15日に開催されたDevelopersIO 2023 Okayamaでの発表スライド

貞松政史

July 18, 2023
Tweet

More Decks by 貞松政史

Other Decks in Technology

Transcript

  1. セッション中に出てくる⽤語の定義 2 AI/ML • ⼈⼯知能分野、および内包される機械学習領域全般を指す • 実際のところは、ほぼ機械学習領域について⾔及する AI/ML課題 • AI/MLに関する技術を⽤いたアプローチでしか解決が難しい課題

    • あるいはAI/MLに関する技術を⽤いて解決することが望ましい課題 • 主にビジネス的な課題を指す AI/MLエンジニア • AI/ML領域に特化し、主にAI/ML課題を解決することを⽣業とするエンジニア • レイヤーや活⽤するツール、サービス、事業ドメイン等は限定しない
  2. おしながき 6 • ⼀般的なAI/ML課題と解決アプローチ • AI/MLの最新トレンドキャッチアップ • 3⾏まとめ • 基盤モデル

    • ⽣成AIモデル • 今後のAI/MLとの向き合い⽅ • ツールとしての活⽤ • インテグレーション • 独⾃開発 • まとめ
  3. ⼀般的なAI/ML課題と解決アプローチ 7 • ⼀般的なAI/ML課題と解決アプローチ • AI/MLの最新トレンドキャッチアップ • 3⾏まとめ • 基盤モデル

    • ⽣成AIモデル • 今後のAI/MLとの向き合い⽅ • ツールとしての活⽤ • インテグレーション • 独⾃開発 • まとめ
  4. AI/ML課題の整理 8 データソースの種類 • トランザクションデータ • テキスト • 画像 •

    動画 など 機械学習課題の種類 • 分類、予測、異常検知、レコメンデーション • ドキュメント分類、キーワード抽出 • 画像分類、物体検出 など Transaction Text Image Movie
  5. AI/ML課題の整理 9 適⽤される領域(事業ドメイン)毎の課題 • 流通・⼩売 • 需要・売上予測、在庫予測、⾃動発注、レコメンデーション など • 製造

    • 異常検知、故障予測、予知保全 など • ⾦融 • 不正検出 など • エンターテイメント・ゲーム • ⾒込み顧客判定、離反予測、不正検出、レコメンデーション など
  6. AI/ML課題に対する解決アプローチ 10 既存のツール・サービスを活⽤ • 既存のAI/ML系のクラウドサービスやサードパーティ製品を活⽤ • システム化する際のインフラとしてもクラウドを活⽤ 最新の⼿法(アルゴリズム)を適⽤ • 最新の論⽂等で紹介されている⼿法を適⽤

    • AI/ML⽤のフレームワークやライブラリを活⽤ 独⾃⼿法(アルゴリズム)の開発 • 既存のサービスや⼿法では対応できない場合の最終⼿段 • 既存の⼿法を応⽤したり、フレームワークやライブラリを活⽤する
  7. 活⽤するツールやサービス 11 クラウドサービス • AWS、Google Cloud など フレームワーク・ライブラリ • TensorFlow、PyTorch

    など アルゴリズム • 画像処理 • YOLO系、ResNet系 • ⾃然⾔語処理 • BERT系 • テーブルデータ • XGBoost、LightGBM など
  8. AI/MLの最新トレンドキャッチアップ 12 • ⼀般的なAI/ML課題と解決アプローチ • AI/MLの最新トレンドキャッチアップ • 3⾏まとめ • 基盤モデル

    • ⽣成AIモデル • 今後のAI/MLとの向き合い⽅ • ツールとしての活⽤ • インテグレーション • 独⾃開発 • まとめ
  9. ⽣成AIモデル 15 Stable Diffusion • 画像⽣成AIモデル • テキストに基づく画像⽣成(text-to-image) https://github.com/Stability-AI/stablediffusion ʮ৐അ͢ΔӉ஦ඈߦ࢜ͷࣸਅʯͱ

    ࢦఆͯ͠ੜ੒͞Εͨը૾ テキスト、画像、動画、⾳楽、プログラムコードなどの新しいコンテンツを作成 ⼤量のデータとコンピューティングパワーによる学習に基づく Codex • プログラムコード⽣成AIモデル • ⼤量のテキストとソースコードを⽤いて 学習されたGPT-3の後継モデル • GitHub Copilotの中⾝ https://openai.com/blog/openai-codex
  10. 最近流⾏りの⽣成AIサービスと⾔えば… 16 ChatGPT https://openai.com/chatgpt • OpenAIが開発した⼤規模な⾃然⾔語処理モデルの1つ • ⼤規模⾔語モデル (LLM: Large

    Language Model)を ⽤いて⼈間のような会話を⽣成することが可能 • 前⾝となるInstructGPTと同じアプローチ • ⼈間からのフィードバックを得て強化学習を実⾏ • データ収集の⼿続きに違いがある • GPT-3.5をファインチューニングしている • 2023/3/6にAPI公開 • 2023/3/15にGPT-4をリリース • 2023/6/14にFunction API ←new!
  11. ⽣成AIモデルができること・できないこと 18 ⽣成AIモデルは万能ではない できること • コンテンツ⽣成 (テキスト、画像、⾳楽、動画 など) • (⾔語モデルについて)

    要約、翻訳、質問への回答等 できないこと • 分類、予測、異常検知、物体検出、⾳声認識、強化学習 など • 主にドメイン固有のデータに基づくもの ※今後のアップデートによる解決の可能性を否定するものではない
  12. 今後のAI/MLとの向き合い⽅ 20 • ⼀般的なAI/ML課題と解決アプローチ • AI/MLの最新トレンドキャッチアップ • 3⾏まとめ • 基盤モデル

    • ⽣成AIモデル • 今後のAI/MLとの向き合い⽅ • ツールとしての活⽤ • インテグレーション • 独⾃開発 • まとめ
  13. 今後のAI/MLとの向き合い⽅ 21 ツールとしての活⽤ • 主に⽣成AIの話 • AI/MLが組み込まれたツールを業務などで活⽤ インテグレーション • アプリケーションへの組み込み

    • 従来⼿法と最新⼿法の組み合わせによる改善や改良 独⾃開発 • 独⾃アルゴリズムの研究・開発 (R&D) • 既存モデルからの転移学習やファインチューニング
  14. ツールとしての活⽤ 22 LLMを活⽤したツール • ChatGPT • https://openai.com/chatgpt • Code Interpreter

    (ChatGPT Plusユーザーのみ、ベータ版) • 各種プラグイン (ChatGPT Plusユーザーのみ) プログラムコード⽣成AIモデルを活⽤したツール • 各種エディタ(VSCode, JetBrains製品など)のプラグインとして導⼊ • GitHub Copilot • https://docs.github.com/copilot • Amazon CodeWhisperer • https://aws.amazon.com/jp/codewhisperer/
  15. ツールとしての活⽤ 23 画像⽣成AIモデルを活⽤したツール • Stable Diffusion • text-to-imageモデル以外にも、⼊⼒画像と似た構図で画像を⽣成したり、部分的に 書き換えてくれるimage-to-imageモデルもある •

    https://github.com/Stability-AI/stablediffusion • Midjourney • Discordをインターフェースとするtext-to-imageモデル • 2次元イラストに特化した「にじジャーニー」もある • https://www.midjourney.com/
  16. 従来のAI/MLサービスやツールを活⽤したインテグレーション 25 ETL処理 レコメンド生成処理 データソース AWS Cloud ECサイト等 リアルタイムレコメンド (APIリクエスト)

    バッチレコメンド (S3に結果をまとめて格納) Amazon API Gateway バッチレコメンド結果の一括取得 (APIリクエスト) Amazon Personalizeを活⽤したレコメンデーションの例 AI/MLのコア要素以外に必要な機能をサービスインテグレーションで解決 AI/MLのコア要素 AWS、Google Cloud、Azure等のAI/MLサービスを活⽤
  17. ⽣成AIを活⽤したインテグレーション 27 OpenAI APIの活⽤ • OpenAI APIとは • OpenAI社が提供するAPI •

    OpenAI社が開発した⾔語モデル「GPT」や⾳声⽂字起こし「Whisper」 などをHTTPのREST APIとして利⽤可能 • API KEYを使⽤すれば従量課⾦で⾃社プロダクトやサービスに モデルの機能を統合可能 • 利⽤⽅法は容易 ・Googleアカウントなどでサインアップ ・API KEYを⽣成すれば利⽤可能
  18. ⽣成AIを活⽤したインテグレーション 28 curlを使ったリクエスト例 • パラメータとしては"model"と"messages"が必須 • "messages"は"role"と"content"のペアのリスト • "role"には、"system"、"user"、"assistant"を指定可能 curl

    https://api.openai.com/v1/chat/completions ¥ -H "Content-Type: application/json" ¥ -H "Authorization: Bearer $OPENAI_API_KEY" ¥ -d '{ "model": "gpt-3.5-turbo", "messages": [ {"role": "system", "content": "Pythonのエキスパートとして質問に答えてください。"}, {"role": "user", "content": "Pythonの環境構築⽅法について教えてください。"}] }'
  19. ⽣成AIを活⽤したインテグレーション 29 ChatGPTプラグインの開発 • ChatGPTプラグインとは • ChatGPTの機能を拡張する為の追加モジュール • ChatGPT Plusのみ

    • 簡単にインストール/アンインストール可能 • ChatGPTのチャット画⾯に統合されたおり 特別な操作や記法を使うことなく そのまま利⽤可能 (参考) Tabelog Tech Blog - ⽇本初の挑戦〜⾷べログによるChatGPTプラグイン開発の舞台裏 https://tech-blog.tabelog.com/entry/first-challenge-tabelog-chatgpt-plugin-devleopment
  20. ⽣成AIを活⽤したインテグレーション 30 (update) ChatGPT Function calling • 0613のアップデート時に追加された機能 • APIが外部機能を使うかどうかをユーザのクエリから⾃動で判断

    • 実⾏の流れは以下 1. ユーザの質問からどの関数を呼ぶかをChatGPTに決めてもらう 2. ChatGPTが決めた関数を呼び出して処理実⾏ 3. 関数の実⾏結果と最初の質問をChatGPTに渡して回答を⽣成する
  21. チャットアプリケーション開発 32 LangChain • チャットのアプリケーションを実現する様々なパーツと広範な仕組みを提供 • Model IO : 最⼩部品

    • Data Connection : 外部ソース • Memory : 記憶の仕組み • Chain : 基本部品 • Agent(Chain) : ⾃動判別 • Tool : 外部ツール • 事実上のデファクトスタンダード(AWSやAzureとの組み合わせ) • プロンプトテンプレートや外部データの繋ぎ込み、外部ツール(外部API)との 連携でアプリケーションの機能を実現する
  22. 既存モデルからの転移学習やファインチューニング 36 転移学習 • 学習済みモデルの各層の重みは更新しない • 付け替えられた最終出⼒層および追加の出⼒層のみを使⽤して学習する • 例えば、⽝と猫と⼈間を分類するモデルを⽝と猫のデータで再学習させることで ⽝と猫を分類するモデルを作ることができる

    ファインチューニング • 学習済みモデルの各層の重みを微調整する • 学習済みモデルの重みを初期値とし、再度学習することによって微調整する • 学習済みモデルと全く異なるモデルを作ることができる (以下例) • ⽝と猫と⼈間を分類するモデル → 柴⽝とゴールデンレトリバーを分類するモデル • ⽝と猫と⼈間を分類するモデル → ⼈間を年代毎に分類するモデル
  23. 既存モデルからの転移学習やファインチューニング 38 • Amazon SageMaker JumpStartを利⽤ • デプロイまたはファインチューニングしたいモデルを⼀覧から選択(または検索) • 独⾃データを規定の形式でS3バケットに配置してファインチューニングを実⾏

    • ファインチューニング後のモデルをエンドポイントに即時デプロイ可能 • https://aws.amazon.com/jp/sagemaker/jumpstart/ https://dev.classmethod.jp/articles/amazo n-sagemaker-jumpstart-fine-tuning-bert- base-multilingual-model/
  24. まとめ 39 • ⼀般的なAI/ML課題と解決アプローチ • AI/MLの最新トレンドキャッチアップ • 3⾏まとめ • 基盤モデル

    • ⽣成AIモデル • 今後のAI/MLとの向き合い⽅ • ツールとしての活⽤ • インテグレーション • 独⾃開発 • まとめ
  25. まとめ 40 • ⼀般的なAI/ML課題と解決アプローチを整理 • 基盤モデルや⽣成AI等の最新トレンドをキャッチアップ • ⽣成AIモデルは万能ではない • 従来⼿法による解決アプローチと並⾏して、最新⼿法を組み合わせた解決策を

    模索していく必要がある • 今後はAI/MLが組み込まれたツールを活⽤したり、AI/MLを 組み込んだアプリケーションやソリューションを開発することで それぞれの課題を解決していく