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. データアナリティクス事業本部
    インテグレーション部 機械学習チーム
    貞松 政史

    View Slide

  2. セッション中に出てくる⽤語の定義 2
    AI/ML
    • ⼈⼯知能分野、および内包される機械学習領域全般を指す
    • 実際のところは、ほぼ機械学習領域について⾔及する
    AI/ML課題
    • AI/MLに関する技術を⽤いたアプローチでしか解決が難しい課題
    • あるいはAI/MLに関する技術を⽤いて解決することが望ましい課題
    • 主にビジネス的な課題を指す
    AI/MLエンジニア
    • AI/ML領域に特化し、主にAI/ML課題を解決することを⽣業とするエンジニア
    • レイヤーや活⽤するツール、サービス、事業ドメイン等は限定しない

    View Slide

  3. 急にChatGPTとかいうのが
    流⾏りだした…
    ⽣成AIって画像⽣成するやつ
    だけじゃないんか…
    ちょっと前までのAIとか機械学習に
    関しても全然ついていけてない…

    View Slide

  4. ⼀般的なAI/ML課題と解決アプローチを整理
    基盤モデルや⽣成AI等の
    最新トレンドをキャッチアップ
    今後AI/MLとどう向き合うのか
    どう活⽤するのかを考える

    View Slide

  5. スピーカー情報
    ⽒名
    貞松 政史 (サダマツ マサシ)
    所属
    データアナリティクス事業本部
    インテグレーション部
    機械学習チーム マネージャー
    ※ Machine Learning カテゴリ
    5

    View Slide

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

    View Slide

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

    View Slide

  8. AI/ML課題の整理 8
    データソースの種類
    • トランザクションデータ
    • テキスト
    • 画像
    • 動画 など
    機械学習課題の種類
    • 分類、予測、異常検知、レコメンデーション
    • ドキュメント分類、キーワード抽出
    • 画像分類、物体検出 など
    Transaction Text
    Image Movie

    View Slide

  9. AI/ML課題の整理 9
    適⽤される領域(事業ドメイン)毎の課題
    • 流通・⼩売
    • 需要・売上予測、在庫予測、⾃動発注、レコメンデーション など
    • 製造
    • 異常検知、故障予測、予知保全 など
    • ⾦融
    • 不正検出 など
    • エンターテイメント・ゲーム
    • ⾒込み顧客判定、離反予測、不正検出、レコメンデーション など

    View Slide

  10. AI/ML課題に対する解決アプローチ 10
    既存のツール・サービスを活⽤
    • 既存のAI/ML系のクラウドサービスやサードパーティ製品を活⽤
    • システム化する際のインフラとしてもクラウドを活⽤
    最新の⼿法(アルゴリズム)を適⽤
    • 最新の論⽂等で紹介されている⼿法を適⽤
    • AI/ML⽤のフレームワークやライブラリを活⽤
    独⾃⼿法(アルゴリズム)の開発
    • 既存のサービスや⼿法では対応できない場合の最終⼿段
    • 既存の⼿法を応⽤したり、フレームワークやライブラリを活⽤する

    View Slide

  11. 活⽤するツールやサービス 11
    クラウドサービス
    • AWS、Google Cloud など
    フレームワーク・ライブラリ
    • TensorFlow、PyTorch など
    アルゴリズム
    • 画像処理
    • YOLO系、ResNet系
    • ⾃然⾔語処理
    • BERT系
    • テーブルデータ
    • XGBoost、LightGBM など

    View Slide

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

    View Slide

  13. 最近のAI/MLトレンド 3⾏まとめ 13
    基盤モデルの出現により、それらを活⽤した
    ⽣成AIモデルが登場
    ⽣成AIモデルを組み込んだ新たなサービスが台頭
    専⾨知識、技術なしに画像やテキスト、⾳声等の
    コンテンツを⽣成できるようになった
    ※もちろんツール、サービスの使いこなしは必要

    View Slide

  14. 基盤モデル (Foundation Model) 14
    • ⼤量のデータを使ってトレーニング
    • 幅広い下流タスクに適応できるように再トレーニング
    • 1つの基盤モデルで多様なタスクに適応できる
    基盤モデルの例
    GPT-n (⾔語モデル)
    https://openai.com/gpt-4
    DALL-E (画像⽣成モデル)
    https://openai.com/dall-e-2

    View Slide

  15. ⽣成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

    View Slide

  16. 最近流⾏りの⽣成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!

    View Slide

  17. なぜChatGPTが急激に流⾏ったのか 17
    ChatGPTはモデル性能に加えて、インタラクティブ(対話形式)
    UIが世間⼀般的に思い描く「AI」の体験を提供した

    View Slide

  18. ⽣成AIモデルができること・できないこと 18
    ⽣成AIモデルは万能ではない
    できること
    • コンテンツ⽣成 (テキスト、画像、⾳楽、動画 など)
    • (⾔語モデルについて) 要約、翻訳、質問への回答等
    できないこと
    • 分類、予測、異常検知、物体検出、⾳声認識、強化学習 など
    • 主にドメイン固有のデータに基づくもの
    ※今後のアップデートによる解決の可能性を否定するものではない

    View Slide

  19. 現時点で存在するツールの数々は
    ⽣成AIモデルを活⽤しながらも
    様々な⼯夫や作り込みが成されている
    AI/ML課題解決の為には従来通り
    搭載するアプリケーションの作り込みや
    従来⼿法との組み合わせが必要

    View Slide

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

    View Slide

  21. 今後のAI/MLとの向き合い⽅ 21
    ツールとしての活⽤
    • 主に⽣成AIの話
    • AI/MLが組み込まれたツールを業務などで活⽤
    インテグレーション
    • アプリケーションへの組み込み
    • 従来⼿法と最新⼿法の組み合わせによる改善や改良
    独⾃開発
    • 独⾃アルゴリズムの研究・開発 (R&D)
    • 既存モデルからの転移学習やファインチューニング

    View Slide

  22. ツールとしての活⽤ 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/

    View Slide

  23. ツールとしての活⽤ 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/

    View Slide

  24. インテグレーション 24
    従来のAI/MLサービスやツールを活⽤したインテグレーション
    • AWS、Google Cloud、Azure等のAI/MLサービスを活⽤
    • 公開されている事前学習済みモデルを利⽤
    ⽣成AIを活⽤したインテグレーション
    • OpenAI APIの活⽤
    • ChatGPTプラグインの開発
    • チャットアプリケーションの開発

    View Slide

  25. 従来の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サービスを活⽤

    View Slide

  26. 従来のAI/MLサービスやツールを活⽤したインテグレーション 26
    公開されている事前学習済みモデルを利⽤
    • 解決したい課題に合わせて、事前学習済みモデルをデプロイして
    推論の処理部分を構築する
    • TensorFlow Hub
    • https://www.tensorflow.org/hub
    • PyTorch Hub
    • https://pytorch.org/hub/
    • HuggingFace
    • https://huggingface.co/

    View Slide

  27. ⽣成AIを活⽤したインテグレーション 27
    OpenAI APIの活⽤
    • OpenAI APIとは
    • OpenAI社が提供するAPI
    • OpenAI社が開発した⾔語モデル「GPT」や⾳声⽂字起こし「Whisper」
    などをHTTPのREST APIとして利⽤可能
    • API KEYを使⽤すれば従量課⾦で⾃社プロダクトやサービスに
    モデルの機能を統合可能
    • 利⽤⽅法は容易
    ・Googleアカウントなどでサインアップ
    ・API KEYを⽣成すれば利⽤可能

    View Slide

  28. ⽣成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の環境構築⽅法について教えてください。"}]
    }'

    View Slide

  29. ⽣成AIを活⽤したインテグレーション 29
    ChatGPTプラグインの開発
    • ChatGPTプラグインとは
    • ChatGPTの機能を拡張する為の追加モジュール
    • ChatGPT Plusのみ
    • 簡単にインストール/アンインストール可能
    • ChatGPTのチャット画⾯に統合されたおり
    特別な操作や記法を使うことなく
    そのまま利⽤可能
    (参考)
    Tabelog Tech Blog - ⽇本初の挑戦〜⾷べログによるChatGPTプラグイン開発の舞台裏
    https://tech-blog.tabelog.com/entry/first-challenge-tabelog-chatgpt-plugin-devleopment

    View Slide

  30. ⽣成AIを活⽤したインテグレーション 30
    (update) ChatGPT Function calling
    • 0613のアップデート時に追加された機能
    • APIが外部機能を使うかどうかをユーザのクエリから⾃動で判断
    • 実⾏の流れは以下
    1. ユーザの質問からどの関数を呼ぶかをChatGPTに決めてもらう
    2. ChatGPTが決めた関数を呼び出して処理実⾏
    3. 関数の実⾏結果と最初の質問をChatGPTに渡して回答を⽣成する

    View Slide

  31. ⽣成AIを活⽤したインテグレーション 31
    チャットアプリケーションの開発
    • OpenAI APIやその他⾔語モデルを活⽤したチャットの機能を
    組み合わせた独⾃のアプリケーションを開発するケース
    • LLMやそれに対するプロンプトを基本パーツとする
    • 外部ソース(独⾃データ)との接続や記憶(履歴)の仕組み、外部ツー
    ル・外部APIとの連携により実現
    • LangChainやLlamaIndexなどを活⽤する

    View Slide

  32. チャットアプリケーション開発 32
    LangChain
    • チャットのアプリケーションを実現する様々なパーツと広範な仕組みを提供
    • Model IO : 最⼩部品
    • Data Connection : 外部ソース
    • Memory : 記憶の仕組み
    • Chain : 基本部品
    • Agent(Chain) : ⾃動判別
    • Tool : 外部ツール
    • 事実上のデファクトスタンダード(AWSやAzureとの組み合わせ)
    • プロンプトテンプレートや外部データの繋ぎ込み、外部ツール(外部API)との
    連携でアプリケーションの機能を実現する

    View Slide

  33. チャットアプリケーション開発 33
    LlamaIndex
    • 事前学習済みのLLMをプライベートなデータで拡張することに特化
    • 多様なインデックス構造やレスポンスモードが存在
    Retriever
    社内データ等

    View Slide

  34. 独⾃開発 34
    • 独⾃アルゴリズムの研究・開発 (R&D)
    • 既存モデルからの転移学習やファインチューニング

    View Slide

  35. 独⾃アルゴリズムの研究・開発 (R&D) 35
    • 論⽂からの実装や既存アルゴリズムからの改造など
    • ライブラリやフレームワークを活⽤して⾃前実装
    • AI/MLのコア部分に注⼒
    • コア部分以外は各種クラウドサービスやサードパーティ製品
    協業などによりカバー

    View Slide

  36. 既存モデルからの転移学習やファインチューニング 36
    転移学習
    • 学習済みモデルの各層の重みは更新しない
    • 付け替えられた最終出⼒層および追加の出⼒層のみを使⽤して学習する
    • 例えば、⽝と猫と⼈間を分類するモデルを⽝と猫のデータで再学習させることで
    ⽝と猫を分類するモデルを作ることができる
    ファインチューニング
    • 学習済みモデルの各層の重みを微調整する
    • 学習済みモデルの重みを初期値とし、再度学習することによって微調整する
    • 学習済みモデルと全く異なるモデルを作ることができる (以下例)
    • ⽝と猫と⼈間を分類するモデル → 柴⽝とゴールデンレトリバーを分類するモデル
    • ⽝と猫と⼈間を分類するモデル → ⼈間を年代毎に分類するモデル

    View Slide

  37. 既存モデルからの転移学習やファインチューニング 37
    公開されている事前学習済みモデルを活⽤する
    ⼿持ちの独⾃データを⽤いてファインチューニングを実⾏する
    (再掲)
    • TensorFlow Hub
    • https://www.tensorflow.org/hub
    • PyTorch Hub
    • https://pytorch.org/hub/
    • HuggingFace
    • https://huggingface.co/

    View Slide

  38. 既存モデルからの転移学習やファインチューニング 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/

    View Slide

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

    View Slide

  40. まとめ 40
    • ⼀般的なAI/ML課題と解決アプローチを整理
    • 基盤モデルや⽣成AI等の最新トレンドをキャッチアップ
    • ⽣成AIモデルは万能ではない
    • 従来⼿法による解決アプローチと並⾏して、最新⼿法を組み合わせた解決策を
    模索していく必要がある
    • 今後はAI/MLが組み込まれたツールを活⽤したり、AI/MLを
    組み込んだアプリケーションやソリューションを開発することで
    それぞれの課題を解決していく

    View Slide

  41. View Slide