AIの各工程の流れ
ChatGPTに教えてもらいました。
入力データの準備
|
|--[データ収集/クリーニング]
| - 処理: テキストデータの収集、前処理(正規化、フィルタリング)
| - 使用ライブラリ: BeautifulSoup, regex, NLTK, spaCy
|
|--[トークナイゼーション]
| - 処理: テキストをトークンに分割
| (単語、サブワード、バイトペアエンコーディングなど)
| - 使用ライブラリ: Hugging Face Tokenizers, SentencePiece, spaCy
|
|--[エンコーディング]
| - 処理: トークンを整数IDに変換
| - 使用ライブラリ: NumPy, PyTorch/TensorFlowのネイティブ関数
|
基本モデルの学習
|
|--[埋め込み層]
| - 処理: トークンIDを高次元の埋め込みベクトルにマッピング
| - 使用ライブラリ: PyTorch.nn.Embedding,
| TensorFlow.keras.layers.Embedding
|
|--[トランスフォーマーブロック]
| |--[自己注意メカニズム]
| | - 処理: 各トークン間の関連性を計算
| | - 使用ライブラリ:
| | PyTorch.nn.MultiheadAttention,
| | TensorFlow.keras.layers.MultiHeadAttention
| |
| |--[フィードフォワードニューラルネットワーク(FFNN)]
| | - 処理: トランスフォーマー層内の非線形変換
| | - 使用ライブラリ: PyTorch.nn.Linear, TensorFlow.keras.layers.Dense
| |
| |--[正規化と残差接続]
| - 処理: 正規化と層間のスキップ接続で安定した学習を実現
| - 使用ライブラリ: PyTorch.nn.LayerNorm,
| TensorFlow.keras.layers.LayerNormalization
|
|--[損失関数]
| - 処理: 予測と正解との誤差を計算
| - 使用ライブラリ: PyTorch.nn.CrossEntropyLoss,
| TensorFlow.keras.losses.SparseCategoricalCrossentropy
|
|--[オプティマイザ]
| - 処理: 学習率の調整とモデルパラメータの更新
| - 使用ライブラリ: PyTorch.optim.AdamW,
| TensorFlow.keras.optimizers.Adam
|
ファインチューニング(Fine-tuning)
|
|--[特定タスク用データでの再学習]
| - 処理: 特定タスクに対してモデルの最終層や一部の層を再学習
| - 使用ライブラリ: Hugging Face Transformers(Trainer),
| PyTorch, TensorFlow
|
|--[LoRA(Low-Rank Adaptation)]
| - 処理: モデルの一部の重みを低ランク近似で更新し、
| メモリ使用量を削減
| - 使用ライブラリ: bitsandbytes, Hugging Face PEFT, PyTorch
|
強化学習(Reinforcement Learning from Human Feedback, RLHF)
|
|--[報酬モデルの作成]
| - 処理: 人間のフィードバックを用いて報酬を定義し、
| モデルが生成した出力の評価に使用
| - 使用ライブラリ: PyTorch, TensorFlow
|
|--[ポリシー最適化]
| - 処理: モデルの生成結果を報酬に基づいて改善
| (PPOアルゴリズムなど)
| - 使用ライブラリ: Hugging Face Transformers(PPOTrainer),
| PyTorch RL
|
AIコンステレーション(複数モデルの協調動作)
|
|--[複数モデルの連携]
| - 処理: 複数のAIモデルが協調してタスクを実行
| (例: 専門モデルの利用)
| - 使用ライブラリ: Ray, Dask, Hugging Face Accelerate
|
|--[モデル選択/切り替え]
| - 処理: タスクに応じて最適なモデルを動的に選択
| - 使用ライブラリ: Transformers, ONNX Runtime
|
モデルの生成(推論)
|
|--[トークナイザーの逆変換]
| - 処理: 生成されたトークンIDをテキストに変換
| - 使用ライブラリ: Hugging Face Tokenizers, SentencePiece
|
|--[生成手法]
| - 処理: 次のトークンの予測
| (グリーディーサーチ、ビームサーチ、サンプリング)
| - 使用ライブラリ: Hugging Face Transformers
| (generateメソッドなど)
|
出力結果