はじめに
受講セッションの個人的な所感と、メモです。
メモの内容は、誤字脱字などあるやもしれませんが、ご了承ください。
概要
AI を使って今までできなかったことをやりたいけれど、AI を組み込んだアプリ開発をどう始めてどう進めたら良いのか、どこかに落とし穴があるんじゃないかと不安を持つ方もいらっしゃるのではないでしょうか。また、生成 AI の流れが来ていますが、従来の AI との使い分けや共存などにもお困りじゃないでしょうか。このセッションでは、アプリ開発を始める前に考えておくべきことから、実際にアプリ開発をする際に便利な AWS サービスの使いどころの紹介、アプリ開発が終わった後も気にすべきことなど、AI 全般のアプリ開発ジャーニーにおけるビジネス&Tech な内容をまとめてご紹介します。
所感
改めて、AIの基礎的な事、考え方が知れたいいセッションでした。
AIは100%の精度にはならない、を念頭に、
許容できる範囲を考えたり、100%に近づけるためにはどうすればいいかを考えたりと、
向かい合うための心構えを知れた気がします。
特に大事にしたいのが、ビジネス課題の解決、という意識。
AI導入を目的にしてはいけない。これ大事ですね。
# 受講メモ
AIの特性を理解し、正しく使うための情報
- 従来のAIの特徴
- 従来のAIを自社アプリに組み込むためのTips
- AIと生成AIの違い
- 生成AIを自社アプリに組み込むためのTips
AIの特徴
- 人工知能
- 機械学習
- 深層学習
- 生成AI
- 深層学習
- 機械学習
AIは間違えることがある
- 精度100%にはならない
間違えない例
入力が決まれば、計算で結果が一意に決まる
- 給料計算
- 走行距離など
機械学習
入力が決まれば予測値が決まる
- 今までこうだったから、多分こんな感じ
- 計算できない予測であるため誤差が出る
- 入力の傾向が、時間と共に変化する類
前処理、後処理で精度を上げる
- データのノイズ除去
- 入力情報を限定する工夫(UI)
- データ取得を自動化する
- 複数AIの多数決
- 他手法とのかけ合わせ
従来のAIを自社アプリに組み込むため
一般的なライフサイクル
なぜビジネスゴールの設定?
ゴールがないと、最終的にAIの精度をどこまで上げるかわからない
- 100%を求めて延々と続く
- 正しく機能しているかわからない
活用パターン
APIで使えるAI
- 学習データ不要
- MLスキルいらず、カスタマイズがしにくい
- 主な例、画像認識
- Rekognition
独自モデルを用意するパターン
- 学習データ必要
- ユースケースに応じて自由
- 主な例
- レコメンド
- Personalize
- データだけ用意すれば、レコメンドしてくれる
- SageMaker
AIの精度100%は非現実的
ビジネスゴールの重要性
APIで導入
独自データで導入
生成AI
従来AIでは
- テキストの感情を判断するための学習データが必要 数百〜数千
- ラベルづけで学習させる
生成AIでは (LLM)
- ラベルなしの事前学習データ
- 大量データを与えておく
- 既にこれをもとに作られたモデルがある
- 学習済みのモデルから、回答を得ることができる
- Bedrock
翻訳をAIで行う上での違い
- 生成AIの場合、出力テイストを指示できる
プロンプトエンジニアリング
-
事前に指示を与えることで、出力を指定する
- ラベルや例を与える
- フォーマットを与える
-
事前指示が多くなると、プロンプトの制限に触れる場合は、ファインチューニングを検討する
- プロンプトをシンプルにできる
- コスト、レスポンス
LLMがやっていること
- 入力に対する次の言葉の確率計算
- 単語の予測であり、内容の正しさを考慮するメカニズムではない
苦手なこと、できないこと
- 最新状況の対応
- 最新の時事ネタ
- 出力の制御
- 指示を行っても必ずそうならない
- 妥当性の保証
これらの特徴を把握して活用、開発する
入出力の監視、検証
- Guardrails for Bedrock
- コンテンツフィルタ
Rekognition
- コンテンツモデレーション
- 暴力的、性的な画像がないかを検証