目次
第一部 AI駆動によるサービス創りの全体像
第1章 AIサービスの基本
- 1.1 AIサービスをなぜ作るのか
- 1.1.1 AIサービスの基本的な活用例:Consensus
- 1.1.2 ドメインデータを活用したAIサービス:
- 1.1.3 画像処理を用いたAIサービス:冷蔵庫レシピ生成Sous Chef
- 1.2 AIサービス創りに必要な3つの観点と3つの分析
第2章 AIサービス創りのための3つの観点
- 2.1 どのようなAIサービスを創るか?
- 2.2 観点1:不確実な対象に使う
- 2.2.1 AIサービスと非AIサービスの違い
- 2.2.2 入力の不確実性と出力の不確実性
- [Column]AIとデータ分析:データ分析と不確実性も相性が良い
- 2.3 観点2:チャットでないもの,生成しないものにも使う
- 2.3.1 “チャット”の暗黙バイアス
- 2.3.2 チャットではないものにもAIを使う
- 2.3.3 “生成AI”の暗黙バイアス
- 2.3.4 生成ではないものにもAIを使う
- 2.3.5 暗黙バイアスを意識的に取り除く
- 2.4 観点3:ドメインの強みを活かす
- 2.4.1 ドメインデータやドメイン知識がAIサービスの肝
- 2.4.2 活用できるデータがない場合の対応策:ミニマムPoC
- 2.4.3 構造化データと非構造化データ
- [Column]生成AIとデジタルトランスフォーメーション
第3章 AIサービス創りのための3つの分析
- 3.1 サービス創りの前の事前準備
- 3.2 分析1:ビジネス分析
- 3.2.1 組織内のコストダウン
- 3.2.2 既存サービスの収益向上
- 3.2.3 新規サービス開発
- 3.2.4 AI駆動のビジネス分析
- 3.3 分析2:効果分析
- 3.3.1 AIサービスに対する効果分析
- 3.3.2 ミニマムPoCによる効果分析
- 3.3.3 AIサービスのコスト算出
- 3.3.4 AI駆動の収支分析
- 3.4 分析3:リーガル分析
- 3.4.1 特許調査と知財権利化
- 3.4.2 AI駆動の特許調査
- 3.4.3 その他のリーガルリスク
- [Column]画像生成AI利用に関するリーガルリスク
第4章 AIサービスの実装方式の種類と選択
- 4.1 AIサービスの実装方式
- 4.1.1 サービス公開
- 4.1.2 生成AIの基本性能
- 4.1.3 自由度
- 4.1.4 実装難易度
- 4.1.5 データ秘匿性
- 4.1.6 収益化
- 4.2 AIサービスの実装方式の選択
- 4.2.1 分岐1:データの外部送信可否と生成AIの大規模チューニング
- 4.2.2 分岐2:外部API連携と収益化
- 4.3 第一部のまとめ:AIサービス開発のはじめの一歩
第二部 AIサービスをノーコードで実装する
第5章 ChatGPTの基本的な使い方
- 5.1 プロンプト
- 5.1.1 プロンプトの基本
- 5.1.2 システムプロンプトとユーザープロンプト
- 5.1.3 プロンプトエンジニアリング
- 5.1.4 プロンプトエンジニアリングにどこまで注力するべきか?
- 5.1.5 入出力の単位:トークン
- 5.2 追加データの活用方法
- 5.2.1 Zero-shot学習
- 5.2.2 Few-shot学習
- 5.2.3 外部知識活用
- [Column]画像ファイルの活用
- [Column]生成AI向けWebサイト情報収集への許可設定
- 5.2.4 ファインチューニング
第6章 カスタムGPTによるAIサービスのノーコード実装
- 6.1 カスタムGPTの基本
- 6.1.1 [構成]モードの設定項目
- 6.1.2 「知識」の活用
- 6.1.3 サービスの公開
- [Column]従来のノーコード開発と生成AIノーコード開発の違い
- 6.2 カスタムGPTの応用
- 6.2.1 例1:ユーザーサポートサービス(知識の活用)
- 6.2.2 例2:ビジネス分析サービス
- 6.2.3 例3:生成AIの収支予測サービス
- 6.2.4 プロンプト作成時のトライアンドエラー
- 6.3 第二部のまとめ:AIサービスの可能性と課題
- 6.3.1 ハルシネーション
- 6.3.2 出力結果の多様性
- 6.3.3 情報のリーク・プロンプトインジェクション
第三部 AIサービスをAPI/OSSモデルで実装する
第7章 OpenAIAPIによるAIサービスの実装
- 7.1 OpenAIAPI keyの取得
- [Column]OpenAIAPI利用の上限
- 7.2 Google Colaboratoryでのコーディングテスト
- 7.2.1 Google Colaboratoryの準備
- 7.2.2 コーディング
- 7.2.3 コードの実行
- 7.3 Gradioを用いたデモ作成
- 7.3.1 コーディング
- 7.3.2 コードの実行
- 7.4 Hugging Face Spacesでの公開
- 7.4.1 Hugging Face Spacesの利用準備
- 7.4.2 OpenAIAPI keyの保存
- 7.4.3 app.pyのコーディング
- 7.4.4 requirements.txtの準備
- 7.4.5 サービスの起動
- 7.4.6 作成したサービスの公開設定
- [Column]Google ColaboratoryとHugging Face Spacesの使い分け
- 7.4.7 ファインチューニング済みモデルの実行
第8章 生成AIのOSSモデルによるAIサービスの実装
- 8.1 生成AIのOSSモデル利用の利点と注意点
- 8.2 Hugging Faceの生成AIモデルアクセス準備
- 8.2.1 Hugging Faceアクセストークンの取得
- 8.2.2 モデルアクセス権の取得(Llama3.1の場合)
- 8.3 Google Colaboratoryでのコーディング
- 8.3.1 ハードウェアの選択とアクセストークンの設定
- [Column]Google Colaboratoryの利用コスト
- 8.3.2 アクセストークンの設定
- 8.3.3 コーディング
- 8.3.4 コードの実行
- 8.3.5 Gradioによるデモアプリ作成
- 8.3.6 Hugging Face Spacesでの公開(Zero GPU使用)
- [Column]生成AIを用いたコード生成
- 8.4 生成AIのOSSモデルの種類と選択
- 8.4.1 日本語特化の生成AIのOSSモデル
- 8.4.2 OSSモデルのモデルパラメータとハードウェア要件
- [Column]GPUが使われる理由
- [Column]OSSモデルを用いる場合のRAGの利用
- 8.5 第三部のまとめ:AIサービスの実装,運用と管理へ向けて
- 8.5.1 運用と管理(LLM Ops)
第四部 AIを正しく駆動させるためのAIの理解
第9章 AIを理解する
- 9.1 AIの基本
- 9.2 ルールベースAI
- 9.3 機械学習の基本
- [Column]教師あり学習と教師なし学習
- 9.4 分類問題を解くためのAI
- 9.4.1 生成モデルを用いた古典的分類
- 9.4.2 識別モデルの利用
- [Column]生成AIを用いた機械学習の実装
- 9.4.3 深層学習による特徴量抽出
- 9.5 機械学習に用いるデータ
- 9.5.1 データの直感的・空間的理解
- 9.5.2 学習データ,検証データ,テストデータ
- 9.5.3 学習データ追加の方策と問題の見なおし
第10章 大規模言語モデルを理解する
- 10.1 言語モデルの基本
- 10.2 統計的言語モデル
- 10.2.1 Ngramモデル
- [Column]自己回帰で生成する
- 10.2.2 単語の抽象化:クラスNgramモデル
- 10.2.3 文脈の抽象化:トピックモデル
- 10.2.4 単語と単語の関係に対するモデル化:トリガーモデル
- 10.3 ニューラル言語モデル
- 10.3.1 単語の埋め込み(word2vec)
- 10.3.2 文脈の深層学習:RNN(LSTM)
- 10.3.3 単語と単語の関係に対する深層学習:注意機構,Transformer
- 10.3.4 Transformerの転移学習:BERT/T5
- 10.3.5 GPT(decoder onlyモデル)
- 10.4 大規模言語モデルの学習
- 10.4.1 事前学習
- 10.4.2 インストラクションチューニング
- 10.4.3 人間の感覚との一致,倫理の学習
- 10.5 大規模言語モデルのドメイン適応
- 10.5.1 RAG
- 10.5.2 ファインチューニング
- 10.5.3 継続事前学習
- 10.6 第四部のまとめ:LLMの現在と未来
- 10.6.1 文法の正確性
- 10.6.2 外部ドメイン知識
- 10.6.3 指示応対能力