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 貞松政史
Amazon Forecast亡き今、我々がマネージドサービスに頼らず時系列予測を実行する方法
sadynitro
0
150
今日のハイライトをシステマティックに
sadynitro
1
36
はじめてのレコメンド〜Amazon Personalizeを使った推薦システム超超超入門〜
sadynitro
1
850
予知保全利用を目指した外観検査AIの開発 〜画像処理AIを用いた外観画像に対する異常検知〜
sadynitro
0
520
20230904_GoogleCloudNext23_Recap_AI_ML
sadynitro
0
690
Amazon SageMakerが存在しない世界線 のAWS上で実現する機械学習基盤
sadynitro
0
160
Amazon SageMakerが存在しない世界線のAWS上で実現する機械学習基盤
sadynitro
0
1.5k
みんな大好き強化学習
sadynitro
0
970
機械学習エンジニアはMLOpsの夢を見るか?
sadynitro
0
1.2k
Other Decks in Technology
See All in Technology
AGIについてChatGPTに聞いてみた
blueb
0
130
【Startup CTO of the Year 2024 / Audience Award】アセンド取締役CTO 丹羽健
niwatakeru
0
1.8k
iOS/Androidで同じUI体験をネ イティブで作成する際に気をつ けたい落とし穴
fumiyasac0921
1
110
アジャイルチームがらしさを発揮するための目標づくり / Making the goal and enabling the team
kakehashi
4
260
Amazon CloudWatch Network Monitor のススメ
yuki_ink
1
220
OCI 運用監視サービス 概要
oracle4engineer
PRO
0
4.8k
テストコード品質を高めるためにMutation Testingライブラリ・Strykerを実戦導入してみた話
ysknsid25
7
2.8k
RubyのWebアプリケーションを50倍速くする方法 / How to Make a Ruby Web Application 50 Times Faster
hogelog
3
950
OCI Security サービス 概要
oracle4engineer
PRO
0
6.6k
プロダクト活用度で見えた真実 ホリゾンタルSaaSでの顧客解像度の高め方
tadaken3
0
260
20241120_JAWS_東京_ランチタイムLT#17_AWS認定全冠の先へ
tsumita
2
320
Amplify Gen2 Deep Dive / バックエンドの型をいかにしてフロントエンドへ伝えるか #TSKaigi #TSKaigiKansai #AWSAmplifyJP
tacck
PRO
0
420
Featured
See All Featured
For a Future-Friendly Web
brad_frost
175
9.4k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Designing Experiences People Love
moore
138
23k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Producing Creativity
orderedlist
PRO
341
39k
Six Lessons from altMBA
skipperchong
27
3.5k
Embracing the Ebb and Flow
colly
84
4.5k
Keith and Marios Guide to Fast Websites
keithpitt
409
22k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Ruby is Unlike a Banana
tanoku
97
11k
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