生成AIプロダクト開発において技術的に重要な点

5.5K Views

February 23, 24

スライド概要

2/23「東京AI祭技術大合戦(ハッカソン)キックオフ」において、生成AIプロダクト開発において技術的に重要な点について話したので、そのときのスライドを公開します。

profile-image

サラリーマン研究員。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

生成AIプロダクト開発に おいて技術的に重要な点 尾崎安範(あるふ)

2.

自己紹介 ● 尾崎安範(あるふ) ○ ○ ● AI PicassoにもいるAIエンジニア 今回のハッカソンの審査員の一人 よく使う生成AIプロダクト ○ ○ ○ ChatGPT Gemini Advenced Midjourney

3.

これまでに開発に関わった生成AIプロダクト ● ● ● AIいらすとや AIダンス AI Picassoというアプリの画像生成AI

4.

この講演の背景 1. 2. 3. 4. 5. 6. 7. スタッフ「このリストに書いてあることについて話してくださいませんか」 私(ハッカソンにおけるMLOpsか?なにそれ知らん) 私「わかりました」 私「資料ができましたので、確認よろしくお願いします」 スタッフ「いや、テーマは生成AIプロダクト開発において 技術的に重要な点です。」 私「え?」(これを聞いたの昨日) 私(これはChatGPTに依頼するしかない)

5.

生成AIプロダクト開発において技術的に重要な点 ● ChatGPTに聞いてみたらいい感じの話題が出てきた a. b. c. d. e. f. g. ● データ収集と処理 モデル選択と学習 性能評価と最適化 デプロイメントとスケーリング 倫理とプライバシー 継続的な学習とメンテナンス ユーザーエクスペリエンス いい感じの話題を実経験をもとに説明する

6.

データ収集と処理 ● データは量質ともを考えて収集や合成する ○ ○ ○ ● データは学習しやすいように前処理する ○ ● Textbooks are all you need. が示した通り、学習データは教科書のような質が好ましい GoogleのGemmaが示した通り、量はなるべく多いほうがいい ■ Gemmaは6T tokensで学習されているため、通常のモデルより量は多い 人手によるアノテーションは特に重要 DALL-E 3やSoraでは画像や動画を集めたあと、改めてきれいなテキストをつけている ■ これによりテキストが反映されやすいコンテンツを生成できている しかし、データ収集や合成、前処理はめんどくさい ○ そこはChatGPTを積極的に使うことでわりと手間をカットできる

7.

モデル選択と学習 ● なるべく学習コードがあるモデルや商用可能なライセンスのモデルを選ぶ ○ ○ ● 学習におけるGPUのVRAM使用量を高効率にする ○ ○ ○ ● ライセンスの中でも Apache-2.0が一番問題が少ない 交渉すると商用可能となるモデルも結構あるので特にライセンスは作者に連絡を取る 学習速度が速くなるし、バッチサイズを大きくできる ■ バッチサイズを大きくすると、モデルの品質が上がる傾向にある 8bit OptimizerやDeepSpeedなどの技術を使う 計算ノードの数を増やすとデータ転送で遅くなるので注意が必要 拡散モデルや大規模言語モデルは開発に非常に時間がかかるため、 普通の機械学習と思って開発してはいけない ○ 0から始めると数ヶ月から数年かかる

8.

デプロイメントとスケーリング ● ● ● MLOpsを前提とするようなシステムアーキテクチャが好ましい 生成するコンテンツを増やすときに他のサービスと切り離せるように コンテナをオーケストレーションできるようなマイクロサービスが良さそう コンテナを増やすだけでオートスケーリングできるように オーケストレーションしておく https://jpn.nec.com/solution/dotdata/tips/mlops/index.htmlより図を引用

9.

倫理とプライバシー ● 生成結果に人種差別などの結果が出ないように フィルタリングなどを行う ○ ● 個人情報を含まないように学習を行う ○ ● そうでないとGeminiの画像生成のようにサービス停止せざるを得なくなる [1] EUは特にこの点は気にする データベースを設計するときに他者の情報がアクセスできないように 暗号化するなり注意する [1] https://www.boston25news.com/news/google-suspends/6VRDSUFK7GBAMPFF6ZFZGWUT2Q/

10.

継続的な学習とメンテナンス ● サービスをデプロイしても継続的にモデルを更新する必要がある ○ ● ChatGPTを見ているとよく分かると思われる 生成AIを使うコードは開発の速さ故にバグが多いので、 継続的にコードを更新する必要がある 開発 運用

11.

ユーザーエクスペリエンス ● 様々なデバイスで使えるデザインにすること ○ ○ ● ユーザーはパソコンで使いたいときもあれば、スマホで使いたいときもある 特にWebサイトだけではなく、アプリもできれば実装すること 生成処理が長くなる場合は、事前に伝えたり、生成成功後に通知したりして、極力 待たせないこと

12.

まとめ ● ● ChatGPTに聞いたらいい感じの素案ができました アプリとしてのChatGPTのような生成AIプロダクトを開発してください