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
Foundation Model全盛時代を生きるAI/MLエンジニアの生存戦略
Search
貞松政史
July 18, 2023
Technology
0
800
Foundation Model全盛時代を生きるAI/MLエンジニアの生存戦略
2023年7月15日に開催されたDevelopersIO 2023 Okayamaでの発表スライド
貞松政史
July 18, 2023
Tweet
Share
More Decks by 貞松政史
See All by 貞松政史
今日のハイライトをシステマティックに
sadynitro
1
36
はじめてのレコメンド〜Amazon Personalizeを使った推薦システム超超超入門〜
sadynitro
1
840
予知保全利用を目指した外観検査AIの開発 〜画像処理AIを用いた外観画像に対する異常検知〜
sadynitro
0
520
20230904_GoogleCloudNext23_Recap_AI_ML
sadynitro
0
690
Amazon SageMakerが存在しない世界線 のAWS上で実現する機械学習基盤
sadynitro
0
150
Amazon SageMakerが存在しない世界線のAWS上で実現する機械学習基盤
sadynitro
0
1.5k
みんな大好き強化学習
sadynitro
0
970
機械学習エンジニアはMLOpsの夢を見るか?
sadynitro
0
1.2k
AWSのAIサービスインテグレーション - AIの仕組みを活用した課題解決
sadynitro
0
940
Other Decks in Technology
See All in Technology
AWS Media Services 最新サービスアップデート 2024
eijikominami
0
200
SREによる隣接領域への越境とその先の信頼性
shonansurvivors
2
520
サイバーセキュリティと認知バイアス:対策の隙を埋める心理学的アプローチ
shumei_ito
0
390
DynamoDB でスロットリングが発生したとき_大盛りver/when_throttling_occurs_in_dynamodb_long
emiki
1
190
TypeScriptの次なる大進化なるか!? 条件型を返り値とする関数の型推論
uhyo
2
1.7k
AGIについてChatGPTに聞いてみた
blueb
0
130
マルチモーダル / AI Agent / LLMOps 3つの技術トレンドで理解するLLMの今後の展望
hirosatogamo
37
12k
スクラムチームを立ち上げる〜チーム開発で得られたもの・得られなかったもの〜
ohnoeight
2
350
AIチャットボット開発への生成AI活用
ryomrt
0
170
Making your applications cross-environment - OSCG 2024 NA
salaboy
0
190
データプロダクトの定義からはじめる、データコントラクト駆動なデータ基盤
chanyou0311
2
320
10XにおけるData Contractの導入について: Data Contract事例共有会
10xinc
6
640
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
410
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
890
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
How STYLIGHT went responsive
nonsquared
95
5.2k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
How to Think Like a Performance Engineer
csswizardry
20
1.1k
Documentation Writing (for coders)
carmenintech
65
4.4k
GitHub's CSS Performance
jonrohan
1030
460k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
Transcript
データアナリティクス事業本部 インテグレーション部 機械学習チーム 貞松 政史
セッション中に出てくる⽤語の定義 2 AI/ML • ⼈⼯知能分野、および内包される機械学習領域全般を指す • 実際のところは、ほぼ機械学習領域について⾔及する AI/ML課題 • AI/MLに関する技術を⽤いたアプローチでしか解決が難しい課題
• あるいはAI/MLに関する技術を⽤いて解決することが望ましい課題 • 主にビジネス的な課題を指す AI/MLエンジニア • AI/ML領域に特化し、主にAI/ML課題を解決することを⽣業とするエンジニア • レイヤーや活⽤するツール、サービス、事業ドメイン等は限定しない
急にChatGPTとかいうのが 流⾏りだした… ⽣成AIって画像⽣成するやつ だけじゃないんか… ちょっと前までのAIとか機械学習に 関しても全然ついていけてない…
⼀般的なAI/ML課題と解決アプローチを整理 基盤モデルや⽣成AI等の 最新トレンドをキャッチアップ 今後AI/MLとどう向き合うのか どう活⽤するのかを考える
スピーカー情報 ⽒名 貞松 政史 (サダマツ マサシ) 所属 データアナリティクス事業本部 インテグレーション部 機械学習チーム
マネージャー ※ Machine Learning カテゴリ 5
おしながき 6 • ⼀般的なAI/ML課題と解決アプローチ • AI/MLの最新トレンドキャッチアップ • 3⾏まとめ • 基盤モデル
• ⽣成AIモデル • 今後のAI/MLとの向き合い⽅ • ツールとしての活⽤ • インテグレーション • 独⾃開発 • まとめ
⼀般的なAI/ML課題と解決アプローチ 7 • ⼀般的なAI/ML課題と解決アプローチ • AI/MLの最新トレンドキャッチアップ • 3⾏まとめ • 基盤モデル
• ⽣成AIモデル • 今後のAI/MLとの向き合い⽅ • ツールとしての活⽤ • インテグレーション • 独⾃開発 • まとめ
AI/ML課題の整理 8 データソースの種類 • トランザクションデータ • テキスト • 画像 •
動画 など 機械学習課題の種類 • 分類、予測、異常検知、レコメンデーション • ドキュメント分類、キーワード抽出 • 画像分類、物体検出 など Transaction Text Image Movie
AI/ML課題の整理 9 適⽤される領域(事業ドメイン)毎の課題 • 流通・⼩売 • 需要・売上予測、在庫予測、⾃動発注、レコメンデーション など • 製造
• 異常検知、故障予測、予知保全 など • ⾦融 • 不正検出 など • エンターテイメント・ゲーム • ⾒込み顧客判定、離反予測、不正検出、レコメンデーション など
AI/ML課題に対する解決アプローチ 10 既存のツール・サービスを活⽤ • 既存のAI/ML系のクラウドサービスやサードパーティ製品を活⽤ • システム化する際のインフラとしてもクラウドを活⽤ 最新の⼿法(アルゴリズム)を適⽤ • 最新の論⽂等で紹介されている⼿法を適⽤
• AI/ML⽤のフレームワークやライブラリを活⽤ 独⾃⼿法(アルゴリズム)の開発 • 既存のサービスや⼿法では対応できない場合の最終⼿段 • 既存の⼿法を応⽤したり、フレームワークやライブラリを活⽤する
活⽤するツールやサービス 11 クラウドサービス • AWS、Google Cloud など フレームワーク・ライブラリ • TensorFlow、PyTorch
など アルゴリズム • 画像処理 • YOLO系、ResNet系 • ⾃然⾔語処理 • BERT系 • テーブルデータ • XGBoost、LightGBM など
AI/MLの最新トレンドキャッチアップ 12 • ⼀般的なAI/ML課題と解決アプローチ • AI/MLの最新トレンドキャッチアップ • 3⾏まとめ • 基盤モデル
• ⽣成AIモデル • 今後のAI/MLとの向き合い⽅ • ツールとしての活⽤ • インテグレーション • 独⾃開発 • まとめ
最近のAI/MLトレンド 3⾏まとめ 13 基盤モデルの出現により、それらを活⽤した ⽣成AIモデルが登場 ⽣成AIモデルを組み込んだ新たなサービスが台頭 専⾨知識、技術なしに画像やテキスト、⾳声等の コンテンツを⽣成できるようになった ※もちろんツール、サービスの使いこなしは必要
基盤モデル (Foundation Model) 14 • ⼤量のデータを使ってトレーニング • 幅広い下流タスクに適応できるように再トレーニング • 1つの基盤モデルで多様なタスクに適応できる
基盤モデルの例 GPT-n (⾔語モデル) https://openai.com/gpt-4 DALL-E (画像⽣成モデル) https://openai.com/dall-e-2
⽣成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
最近流⾏りの⽣成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!
なぜChatGPTが急激に流⾏ったのか 17 ChatGPTはモデル性能に加えて、インタラクティブ(対話形式) UIが世間⼀般的に思い描く「AI」の体験を提供した
⽣成AIモデルができること・できないこと 18 ⽣成AIモデルは万能ではない できること • コンテンツ⽣成 (テキスト、画像、⾳楽、動画 など) • (⾔語モデルについて)
要約、翻訳、質問への回答等 できないこと • 分類、予測、異常検知、物体検出、⾳声認識、強化学習 など • 主にドメイン固有のデータに基づくもの ※今後のアップデートによる解決の可能性を否定するものではない
現時点で存在するツールの数々は ⽣成AIモデルを活⽤しながらも 様々な⼯夫や作り込みが成されている AI/ML課題解決の為には従来通り 搭載するアプリケーションの作り込みや 従来⼿法との組み合わせが必要
今後のAI/MLとの向き合い⽅ 20 • ⼀般的なAI/ML課題と解決アプローチ • AI/MLの最新トレンドキャッチアップ • 3⾏まとめ • 基盤モデル
• ⽣成AIモデル • 今後のAI/MLとの向き合い⽅ • ツールとしての活⽤ • インテグレーション • 独⾃開発 • まとめ
今後のAI/MLとの向き合い⽅ 21 ツールとしての活⽤ • 主に⽣成AIの話 • AI/MLが組み込まれたツールを業務などで活⽤ インテグレーション • アプリケーションへの組み込み
• 従来⼿法と最新⼿法の組み合わせによる改善や改良 独⾃開発 • 独⾃アルゴリズムの研究・開発 (R&D) • 既存モデルからの転移学習やファインチューニング
ツールとしての活⽤ 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/
ツールとしての活⽤ 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/
インテグレーション 24 従来のAI/MLサービスやツールを活⽤したインテグレーション • AWS、Google Cloud、Azure等のAI/MLサービスを活⽤ • 公開されている事前学習済みモデルを利⽤ ⽣成AIを活⽤したインテグレーション •
OpenAI APIの活⽤ • ChatGPTプラグインの開発 • チャットアプリケーションの開発
従来の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サービスを活⽤
従来のAI/MLサービスやツールを活⽤したインテグレーション 26 公開されている事前学習済みモデルを利⽤ • 解決したい課題に合わせて、事前学習済みモデルをデプロイして 推論の処理部分を構築する • TensorFlow Hub •
https://www.tensorflow.org/hub • PyTorch Hub • https://pytorch.org/hub/ • HuggingFace • https://huggingface.co/
⽣成AIを活⽤したインテグレーション 27 OpenAI APIの活⽤ • OpenAI APIとは • OpenAI社が提供するAPI •
OpenAI社が開発した⾔語モデル「GPT」や⾳声⽂字起こし「Whisper」 などをHTTPのREST APIとして利⽤可能 • API KEYを使⽤すれば従量課⾦で⾃社プロダクトやサービスに モデルの機能を統合可能 • 利⽤⽅法は容易 ・Googleアカウントなどでサインアップ ・API KEYを⽣成すれば利⽤可能
⽣成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の環境構築⽅法について教えてください。"}] }'
⽣成AIを活⽤したインテグレーション 29 ChatGPTプラグインの開発 • ChatGPTプラグインとは • ChatGPTの機能を拡張する為の追加モジュール • ChatGPT Plusのみ
• 簡単にインストール/アンインストール可能 • ChatGPTのチャット画⾯に統合されたおり 特別な操作や記法を使うことなく そのまま利⽤可能 (参考) Tabelog Tech Blog - ⽇本初の挑戦〜⾷べログによるChatGPTプラグイン開発の舞台裏 https://tech-blog.tabelog.com/entry/first-challenge-tabelog-chatgpt-plugin-devleopment
⽣成AIを活⽤したインテグレーション 30 (update) ChatGPT Function calling • 0613のアップデート時に追加された機能 • APIが外部機能を使うかどうかをユーザのクエリから⾃動で判断
• 実⾏の流れは以下 1. ユーザの質問からどの関数を呼ぶかをChatGPTに決めてもらう 2. ChatGPTが決めた関数を呼び出して処理実⾏ 3. 関数の実⾏結果と最初の質問をChatGPTに渡して回答を⽣成する
⽣成AIを活⽤したインテグレーション 31 チャットアプリケーションの開発 • OpenAI APIやその他⾔語モデルを活⽤したチャットの機能を 組み合わせた独⾃のアプリケーションを開発するケース • LLMやそれに対するプロンプトを基本パーツとする •
外部ソース(独⾃データ)との接続や記憶(履歴)の仕組み、外部ツー ル・外部APIとの連携により実現 • LangChainやLlamaIndexなどを活⽤する
チャットアプリケーション開発 32 LangChain • チャットのアプリケーションを実現する様々なパーツと広範な仕組みを提供 • Model IO : 最⼩部品
• Data Connection : 外部ソース • Memory : 記憶の仕組み • Chain : 基本部品 • Agent(Chain) : ⾃動判別 • Tool : 外部ツール • 事実上のデファクトスタンダード(AWSやAzureとの組み合わせ) • プロンプトテンプレートや外部データの繋ぎ込み、外部ツール(外部API)との 連携でアプリケーションの機能を実現する
チャットアプリケーション開発 33 LlamaIndex • 事前学習済みのLLMをプライベートなデータで拡張することに特化 • 多様なインデックス構造やレスポンスモードが存在 Retriever 社内データ等
独⾃開発 34 • 独⾃アルゴリズムの研究・開発 (R&D) • 既存モデルからの転移学習やファインチューニング
独⾃アルゴリズムの研究・開発 (R&D) 35 • 論⽂からの実装や既存アルゴリズムからの改造など • ライブラリやフレームワークを活⽤して⾃前実装 • AI/MLのコア部分に注⼒ •
コア部分以外は各種クラウドサービスやサードパーティ製品 協業などによりカバー
既存モデルからの転移学習やファインチューニング 36 転移学習 • 学習済みモデルの各層の重みは更新しない • 付け替えられた最終出⼒層および追加の出⼒層のみを使⽤して学習する • 例えば、⽝と猫と⼈間を分類するモデルを⽝と猫のデータで再学習させることで ⽝と猫を分類するモデルを作ることができる
ファインチューニング • 学習済みモデルの各層の重みを微調整する • 学習済みモデルの重みを初期値とし、再度学習することによって微調整する • 学習済みモデルと全く異なるモデルを作ることができる (以下例) • ⽝と猫と⼈間を分類するモデル → 柴⽝とゴールデンレトリバーを分類するモデル • ⽝と猫と⼈間を分類するモデル → ⼈間を年代毎に分類するモデル
既存モデルからの転移学習やファインチューニング 37 公開されている事前学習済みモデルを活⽤する ⼿持ちの独⾃データを⽤いてファインチューニングを実⾏する (再掲) • TensorFlow Hub • https://www.tensorflow.org/hub
• PyTorch Hub • https://pytorch.org/hub/ • HuggingFace • https://huggingface.co/
既存モデルからの転移学習やファインチューニング 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/
まとめ 39 • ⼀般的なAI/ML課題と解決アプローチ • AI/MLの最新トレンドキャッチアップ • 3⾏まとめ • 基盤モデル
• ⽣成AIモデル • 今後のAI/MLとの向き合い⽅ • ツールとしての活⽤ • インテグレーション • 独⾃開発 • まとめ
まとめ 40 • ⼀般的なAI/ML課題と解決アプローチを整理 • 基盤モデルや⽣成AI等の最新トレンドをキャッチアップ • ⽣成AIモデルは万能ではない • 従来⼿法による解決アプローチと並⾏して、最新⼿法を組み合わせた解決策を
模索していく必要がある • 今後はAI/MLが組み込まれたツールを活⽤したり、AI/MLを 組み込んだアプリケーションやソリューションを開発することで それぞれの課題を解決していく
None