Skip to content

DNET_UdemyLLMEngineering

nishi_74322014 edited this page Sep 11, 2026 · 1 revision

LLM Engineering:Master AI、Large Language Models&Agents

概要

このコースは、生成AIと大規模言語モデル(LLM)の世界に飛び込みたいと願う、
AIエンジニア、データサイエンティスト、そして開発者を目指す方に最適です。
わずか8週間で、実践的なアプリケーションを構築し、最先端の技術を習得することで、
AIへの理解を飛躍的に深めることができます。
急速に進化するAI業界で、他社との差別化を図るための実践的な経験を積むことができます。
ぜひご参加いただき、AIテクノロジーのリーダーへの第一歩を踏み出しましょう!

  1. 最初のLLM製品の構築: トップモデルとトランスフォーマーの探索
    企業の Web サイトをインテリジェントにスクレイピングしてナビゲートする
    AI 搭載のパンフレット ジェネレーターを作成。
  2. マルチモーダルChatボットの構築: LLM、Gradio UI、エージェントの活用
    UI と関数呼び出しを備えた航空会社向けのマルチモーダル顧客サポート エージェントを構築。
  3. OSSのGen AI: Hugging Faceを使った自動化ソリューションの構築
    Open系モデルとClosedモデルの両方を使用して、
    音声から会議の議事録とアクション項目を作成するツールを開発。
  4. LLM対決: コード生成とビジネスタスクのためのLLMの評価
    Python コードを最適化された C++ に変換してパフォーマンスを 60,000 倍向上させる AI を作成。
  5. RAG をマスターする: ベクトル埋め込みと LangChain を使用した高度なソリューションの構築
    RAG を使用して、企業関連のすべての問題の専門家になるAIナレッジワーカーを構築
  6. 最終課題パートA – フロンティアLLMの利用とファインチューニング
    フロンティアLLMと、そのファインチューニングを使用して短い説明から製品の価格を予測。
  7. 最終課題パートB – 価格予測でフロンティアLLMと競合できるように、OSS-LLMをファインチューニング。
    価格予測でフロンティアLLMと競合できるようにファインチューニングされたOSS-LLMを実行。
  8. 最終課題パートC – LLMと連携した自律マルチエージェントシステムの構築
    LLMと連携してお買い得品を見つけ、特別バーゲンを通知する
    自律マルチエージェント システムを構築。
  • RAG、ファインチューニング、エージェントワークフローなど、
    LLMソリューションのパフォーマンスを向上させる最新の手法を比較対照。
  • 主要な10のフロンティアLLMと10のOSS-LLMを比較検討し、
    与えられたタスクに最適な選択肢を選択できるようになります。

詳細

  • 前提

    • 座学でML/DL/LLMに関する良いことを言うケースがあるが、
      ソレは0から学ぶものではなく、知っている人が、ソレを思い出すレベル。
    • 故に、Python、Notebook、ML/DL/LLM、Embedding、Transformer-Based LLMs、RAG、
      ファインチューニングなどについての基礎知識は必要。
    • しかし、これらの前提知識(E資格相当)がなくとも、
      コードを書けるようにするだけの目的で、コンテンツは十分に機能はする。
  • 解説

    • 英語版のトランスクリプトは微妙なので日本語版を選択する。
      しかし、時間の関係からか、講師はコードの詳細をあまり解説できていない。
    • 幸いにも、詳細の解説はGitHub上にコードが配置されているので、
      Copilotに生成して貰う事で代替できる。講師より詳細に説明してくれる。
    • 余談:日本語版と英語版を比べると、
      日本語版が最新版(英語版とGitHub実装)に追いついていないケースが
      エージェント版で観測されたので、そういうケースもありそうだと認識しておくと良いかも。
  • その他、個人的に思ったコト

    • オープン系のLLMエンジニアリングの一般常識的な知識が得られる
      (クローズド環境では得られない機能など)。

    • 講師の嗜好として、プロダクト使いで概念を学ばせるが、
      商用利用スクラッチと考えている傾向が見て取れる。

    • LLMを価格推論(回帰)に使用しているのは、主要なユースケースではないが、
      その結果はDS的には面白い。

    • もっともニーズのある知識付与のファインチューニングについての
      ノウハウがあまりなかったことが残念ではある。

前提ソフト

環境

パッケージ

https://github.com/ed-donner/llm_engineering/blob/main/requirements.txt

python-dotenv
jupyterlab
ipywidgets
requests
numpy
pandas
scipy
scikit-learn
matplotlib
gensim
torch
transformers
tqdm
openai
gradio
langchain
langchain-core
langchain-text-splitters
langchain-openai
langchain-chroma
langchain-community
datasets==3.6.0
matplotlib
google-generativeai
anthropic
chromadb
plotly
jupyter-dash
beautifulsoup4
pydub
modal
ollama
psutil
setuptools
speedtest-cli
sentence_transformers
feedparser
protobuf==3.20.2
wandb
  • OpenAIなどフロンティアLLM(クライアント)

  • Hugging Face(クライアント)

  • LangChain

  • LlamaIndex

  • ChromaDB(LLMのRAGの該当節を参照)

  • UI(Gradio、Streamlit)

  • Beautiful Soup:スクレイピング

  • deep_translator:自動翻訳ライブラリ

アプリ

サービス

  • Google Colaboratory

  • OpenAIなどフロンティアLLM(サーバー)

  • Ollama(サーバー)

  • Hugging Face(サーバー)

    • 各種LLMの検索利用
    • LLMデータ保存
    • スペース・エンドポイント
  • WandB:学習状況の可視化

  • Modal:サーバーレス環境

  • Pushover:プッシュ通知

Week1

Day0(Week1)

Day1に含まれる内容だが、環境構築などが中心なので切り出した。

Day1(Week1)

Day2(Week1)

Day3(Week1)

  • 表題

    • フロンティアLLM:GPT-4、Claude、Gemini、LLAMAの比較
    • 主要LLMの比較:長所とビジネス応用
    • GPT-4o vs O1 Previewの探求:パフォーマンスの主な違い
    • 創造性とコーディング:GPT-4oのCanvas機能を活用する
    • Claude 3.5のアライメントとアーティファクト作成:詳細な分析
    • LLM比較:気まぐれなタスクと分析的なタスクにおけるGemini vs Cohere
    • Meta AIとPerplexityの評価:LLM出力のニュアンス
    • LLMリーダーシップチャレンジ:創造的なプロンプトによるLLMの評価
  • 要約

    • 様々なフロンティアLLMの特徴・違い・強み・弱みを理解し、
      ビジネスやプロジェクトでの活用を考える。

    • 複数のLLM(ChatGPT、Claude、Gemini、Cohere Command-R Plusなど)を
      比較しながら質問を投げかける実演

    • 評価項目(ビジネス適合性、自己認識と能力評価、哲学的・人間中心的、
      単純計算・テキスト分析)

    • LLMによって得意・不得意があり(得意分野、限界、比較)
      複雑な推論や分析に強いLLMは精度が高い

      • 「ハワイから17まで跳ぶのに虹はいくつ必要か?」
        GPT-2、GPT-4o(マルチモーダル、イメージ画像出力)
      • GPT-4oの新機能「Canvas」を使ったインタラクティブなコード作業
      • Claudeの特徴「思慮深い応答」「倫理・安全性への配慮」
        「コード生成とClaude Artifacts機能」
      • Google Geminiはニュアンス理解が弱く、Cohere Command-R Plusは知識活用に優れるが
        単純計算や明確なルールのタスクには弱い。
      • Meta AI(Llamaのフロントエンド)、Perplexity(検索エンジンベース)
        事実に基づいた質問や時事問題への回答が得意。
    • GPT-4o(Alex)、Claude 3 Opus(Blake)、Gemini 1.5 Pro(Charlie)を用いた
      リーダー選出ゲームを実施。

  • コンテンツ

Day4(Week1)

  • 表題

    • リーダーシップの勝者を発表:楽しいLLMチャレンジ
    • AIの旅を探る:初期モデルからトランスフォーマーまで
    • LLMのパラメタを理解する:GPT-1から兆単位の重みを持つLLMまで
    • GPTのトークン化を解説:LLMはテキスト入力をどう処理するか
    • コンテキストウィンドウがLLMに与える影響:トークン制限の解説
    • LLMのコストをナビゲートする:API価格 vs チャットインターフェースのサブスクリプション
    • LLMのコンテキストウィンドウ比較:GPT-4 vs Claude vs Gemini 1.5 Flash
    • 4日目のまとめ:主要な学びと実践的な洞察
  • 要約

    • トランスフォーマーの歴史とLLMの基礎概念、創発的知能の理解 を中心に、
      実際の応用やモデル比較の事例も交えて説明
    • 最近のAI分野の動向(プロンプトエンジニアの台頭と衰退、
      カスタムGPTの人気と飽和、Copilotの重要性、エージェントAI)
    • LLMのパラメタと規模、従来のモデルとの比較、
      LLMの特徴的な強さは、桁違いに多いパラメタ数による精緻な出力制御能力にある。
    • トークン(文字単位モデル、単語単位モデル)、
      LLMのトークナイザのトークン化のアプローチ(文字と単語の中間)、
      数字や特殊文字の扱いなど。
    • コンテキストウィンドウとは「LLMが一度に参照できる過去の情報量の総和」であり、
      これが生成可能な出力の質や範囲に直接影響する。
    • フロンティアLLMのチャットUIとAPIの課金構造の違い、API利用時のコストの注意点、
      代替手段としてOllamaが使えることを説明。
    • Vellumのリーダーボードでコンテキストウィンドウとトークン単価を理解することで、
      LLM利用の規模感やコスト感覚を把握可能。
  • コンテンツ

Day5(Week1)

Week2

Day1(Week2)

Day2(Week2)

Day3(Week2)

  • 表題

    • AIチャットボットの構築:Gradioでカスタマーサポートアシスタントをマスターする
    • OpenAIとGradioで対話型AIチャットボットを構築:ステップバイステップ
    • Multi-Shotプロンプティングとコンテキスト強化によるチャットボットの強化
    • AIツールをマスターする:LLMに自分のマシンでコードを実行させる力を与える
  • 要約

    • LLMを利用したChatボットの仕組みとプロンプト設計のコツを学び、
      Gradioで実際にチャットUIを作る。

    • 重要な仕組みの解説

      • LLM自体は「過去を覚えている」わけではなく、
        毎回すべての会話履歴をAPI経由で渡しているだけ。
      • OpenAI APIはリスト形式のメッセージを
        特殊なトークンを含むシーケンスに変換してLLMに渡す。
      • チャット向けLLMは訓練を通じて「システム」「ユーザー」「アシスタント」といった
        特殊トークンの意味を学習している。
    • 例示や架空会話はワンショット/マルチショット、RAG的な情報補強、
      条件付き追加メッセージなどのプロンプティング

  • コンテンツ

Day4(Week2)

Day5(Week2)

Week3

Day1(Week3)

Day2(Week3)

Day3(Week3)

Day4(Week3)

Day5(Week3)

Week4

Day1(Week4)

(座学)

  • 表題

    • 適切なLLMの選択方法:オープンソースLLMとクローズドソースLLMの比較
    • チンチラ・スケーリング則:LLMのパラメタと学習データサイズの最適化
    • LLMベンチマークの限界:過学習と学習データ漏洩
    • LLMの評価:明かされる6つの次世代ベンチマーク
    • Hugging Face OpenLLM Leaderboard:OSS-LLMの比較
    • LLMリーダーボードをマスターする:オープンソースLLMとクローズドソースLLMの比較
  • 要約

    • ベンチマークやリーダーボードを活用しつつ、コスト・性能・制約を総合的に考えて
      「目前のタスクに最適なLLMを選ぶ」
    • LLMの「パラメタ数と学習データ量のバランスを示すスケーリング則」
      「ベンチマークやリーダーボード」
      テキスト生成系(Transformer系)の該当節を参照)
  • コンテンツ

Day2(Week4)

(座学)

  • 表題

    • LLMの比較:LLMを評価するためのトップ6リーダーボード
    • 専門LLMリーダーボード:ユースケースに最適なLLMを見つける
    • LLAMA vs GPT-4:コード生成のためのLLMのベンチマーク
    • 人間評価によるLLM:LM Sys Chatbot Arenaを理解する
    • LLMの商用応用:法律から教育まで
    • コード変換プロジェクトのためのフロンティアLLMとオープンソースLLMの比較
  • 要約

    • LLMを比較・選定するための多様なリーダーボードやアリーナの活用方法を学び、
      実際のビジネスユースケースを通してLLMの適用範囲を理解
      (いずれもテキスト生成系(Transformer系)の該当節を参照)
    • Chatボット・アリーナは人間によるLLM比較投票の場であり、
      LLMの最新ランキングや実力を体感しつつ、楽しみながら貢献できる
    • LLMの商業的利用例を5つの分野で紹介:法律分野(Harvey)人材・採用分野(Nebula)
      レガシーコード移植(B.AI)医療分野(Salesforce...)教育分野(Khanmigo)
  • コンテンツ

Day3(Week4)

  • 表題

    • 高性能C++コード生成のためのフロンティアLLMの活用
    • コード生成のためのトップLLM比較:GPT-4 vs Claude 3.5 Sonnet
    • LLMによるPythonコードの最適化:GPT-4 vs Claude 3.5
    • コード生成の落とし穴:LLMがエラーを生成する時
    • 驚異的な速さのコード生成:ClaudeがPythonを13,000倍上回る方法
    • LLMによるコード生成のためのGradio UIの構築
    • C++コード生成の最適化:GPTとClaudeのパフォーマンス比較
    • コード生成におけるGPT-4とClaudeの比較:パフォーマンスベンチマーク
  • 要約

    • 商業的価値のあるソリューションを構築し、
      LLM(フロンティアLLM)を使ってコード生成を行う。
    • 円周率計算/最大部分配列和のPythonコードを効率的なC++に変換するツールを作成、
      また、コードを実行して性能を測定する。
    • リーダーボードでのLLM比較の確認と、
      PythonコードをC++に最適化するためのLLM利用方法の実践準備。
    • GPT-4oとClaude 3.5 Sonnet、もしくは、GPT-4.1を切り替えてテスト。
      LLMのタスクに対する顕著な性能差を確認できる。
    • 「Pythonコードを入力 → LLMを切り替えつつC++にストリーミング変換 → 実行 → 出力表示」を、
      カスタムGradio UIで試せるプロトタイプ開発。
  • コンテンツ

Day4(Week4)

Day5(Week4)

(座学)

Week5

Day1(Week5)

Day2(Week5)

Day3(Week5)

Day4(Week5)

Day5(Week5)

Week6

Day1(Week6)

  • 表題

    • ファインチューニングLLM:推論から学習へ
    • LLMファインチューニングのためのデータセットの発見と作成:情報源と技術
    • 製品説明に関するLLMファインチューニングのためのデータキュレーション技術
    • 学習データの最適化:LLMファインチューニングのためのスクラビング技術
    • LLMパフォーマンスの評価:モデル中心 vs ビジネス中心のメトリクス
  • 要約
    LLMのファインチューニングやRAGプロジェクトに不可欠なデータの発見と作成について解説。

    • データは自社データ、KaggleHugging Faceなどから入手可能で、
      特にHugging Faceが推奨されている。
    • 学習に適したデータセットを構築するため
      6ステップ(データの調査、構造化、可視化、品質評価、価値向上)を踏む。
    • 実際のデータセット構築
      (データセットの分析と課題の洗い出し、形式確認、除外(欠損、データ長、値の分布))
    • ファインチューニング用データクレンジング
      (不要なテキストや部品番号などをクリーンアップし、180トークンに調整)
  • コンテンツ

Day2(Week6)

  • 表題

    • LLMデプロイメントパイプライン:ビジネス問題から本番ソリューションまで
    • プロンプティング、RAG、ファインチューニング:各アプローチをいつ使用するか
    • LLMの本番化:LLMを大規模にデプロイするためのベストプラクティス
    • LLM学習のための大規模データセットの最適化:データキュレーション戦略
    • LLM学習のためのバランスの取れたデータセットの作成方法:キュレーション技術
    • データセットキュレーションの最終化:価格と説明の相関分析
    • Hugging Faceで高品質なデータセットを作成し、アップロードする方法
  • 要約

    • Hugging FaceからAmazonの複数カテゴリの280万件以上の商品情報を取得

    • データの不均衡の是正(価格の偏り、カテゴリの偏り)し約40万件に絞り
      Hugging Face Hubにアップロードする。

    • LLMをビジネス上の問題に適用するための5段階の戦略

      • 理解 (Understand):ビジネス要件、成功の測定方法、
        非機能要件(予算、レイテンシなど)を深く掘り下げて文書化
      • 準備 (Prepare):既存のソリューションを調査してベンチマーク、
        LLMを比較し、データセットを構築
      • 選択 (Select):準備段階で定めた基準に基づき、最も適したLLMを選択
      • カスタマイズ (Customize):RAGやファインチューニングなどでLLMの性能を向上させる。
      • 製品化 (Productize):LLMを本番環境に導入する方法について議論します。
    • LLM最適化の3つの主要なアプローチ(プロンプティング、RAG、ファインチューニング)について解説

      • プロンプティング:最も手軽で低コストだが、コンテキストウィンドウのサイズに制限がある。
      • RAG:大量のデータを効率的に処理できスケーラブルだが、VDBが必要で、
        チャンク取得~適切なコンテキスト追加に課題がある。
      • ファインチューニング:強力な手段になり得るが、構築が難しく、
        多量のデータと高い学習コストが必要。また「破滅的忘却」のリスクがある。
    • AIプロジェクトを本番稼働させるための5つのステップ

      • 理解(ステップ1): 課題特定、成功指標定義、必要なデータとリソースの特定
      • 準備(ステップ2): データセットの収集・前処理・特徴量エンジニアリング
      • 選択(ステップ3): ベースモデルや適用する技術の選択
      • カスタマイズ(ステップ4): チューニングやカスタマイズ
      • 本番稼働(ステップ5):
        ・APIの定義と構築: LLMを呼び出すためのAPIを定義し、
         オープンソースLLMやフロンティアLLMを使用。
        ・デプロイと監視: LLMとAPIをどのようにホストし、デプロイするかを決定し、
         セキュリティやスケーリングを監視。
        ・継続的な改善: ビジネス指標を測定し、
         LLMの再学習やパフォーマンス改善を継続的に行う。
  • コンテンツ

Day3(Week6)

  • 表題

    • 特徴量エンジニアリングとBag of Words:NLPのためのMLベースラインの構築
    • MLにおけるベースラインモデル:単純な予測関数の実装
    • Amazon製品価格予測モデルのための特徴量エンジニアリング技術
    • LLMパフォーマンスの最適化:高度な特徴量エンジニアリング戦略
    • LLMファインチューニングのための線形回帰:ベースラインモデルの比較
    • Bag of Words NLP:MLにおけるテキスト分析のためのCount Vectorizerの実装
    • サポートベクター回帰 vs ランダムフォレスト:機械学習対決
    • 従来のMLモデルの比較:ランダムからランダムフォレストまで
  • 要約

    • 伝統的な機械学習手法で、商品説明文から価格をどれだけ正確に予測できるかを確認

      • 特徴量エンジニアリング: データから価格を予測するための重要な要素を抽出し
        「特徴量」として使用。
      • ベクトル化:BoW: 単語の出現回数を数えベクトル化、
        Word2Vec: 単語をより高度な方法でベクトル化
      • 回帰モデルの使用:LinearRegression、LinearSVR、RandomForestRegressorなど
      • 以降これらをまとめた予測関数をテスト用クラス「Tester」でテストデータに適用し
        結果を視覚的に要約表示する。
    • Testerから、以下のような結果が得られる。

      • Random: Error: $340
      • Average: Error: $145
      • Features & LinearRegression: Error: $140
      • BoW & LinearRegression: Error: $115
      • Word2Vec & LinearRegression: Error: $115
      • Word2Vec & LinearSVR: Error: $115
      • Word2Vec & RandomForestRegressor: Error: $100

※ BoWの次元は1000、Word2Vecの次元は400だったこともあり。

Day4(Week6)

Day5(Week6)

  • 表題

    • LLMのファインチューニングのためのJSONLファイルの準備方法
    • ステップバイステップガイド:OpenAI APIでGPTファインチューニングジョブを開始する
    • LLMのファインチューニング:Weights & Biasesで学習損失と進捗を追跡する
    • ファインチューニングされたLLMメトリクスの評価:学習損失と検証損失の分析
    • LLMファインチューニングの課題:LLMのパフォーマンスが向上しない時
    • フロンティアLLMのファインチューニング:最適化のための課題とベストプラクティス
  • 要約

    • フロンティアLLMをファインチューニングする3つのステップ(データ準備、学習(実行)、評価と調整)

    • OpenAIは50~100個のサンプルを推奨しているが、
      このセッションではテスト結果に基づいて500個のサンプルを使用。

    • 学習データと検証データは、JSON Lines(.jsonl)という特殊な形式で準備する。

    • JSONLファイルを、OpenAI APIを使ってアップロードして
      ファインチューニングを実行する。

    • ファインチューニングの結果は、Weights & Biases(WandB)で様子を詳細にモニタリングできる。

    • 学習は10-15分で終わり通知される。エポックを数回繰り返すと過学習の傾向が出てくる。

    • ファインチューニング済みLLM名を渡してAPIを呼び出しテストすることが出来る。

    • Testerから、以下のような結果が得られる。

      • gpt_Fted: Error: $91
      • ビジネス指標(合計差額)が悪化(素の方が精度が高かった)
      • しかし、1000を超えるような非常に高い外れ値の予測が是正された。
    • フロンティアLLMにおけるファインチューニングの主な目的(使い所はかなり限られそう)

      1. プロンプトでは実現できない初期出力のスタイルやトーンを設定
      2. フォーマットなど特定の種類の出力を生成する際の信頼性を向上させる
      3. 複雑なプロンプトに従えない問題を修正し従順性を高める
      4. エッジケース(例外的な入力)に対処する
      5. プロンプトでは難しい新スキル・タスクを実行
  • コンテンツ

Week7

Day1(Week7)

  • 表題

    • パラメタ効率の良いファインチューニングをマスターする:LoRa、QLoRA、ハイパーパラメタ
    • LoRAアダプタ入門:低ランク適応の解説
    • QLoRA:LLMの効率的なファインチューニングのための量子化
    • LLMの最適化:QLoRAファインチューニングにおけるR、Alpha、ターゲットモジュール
    • パラメタ効率の良いファインチューニング:Hugging FaceによるLLMのためのPEFT
    • LLMを量子化する方法:8ビット精度でLLMサイズを削減する
    • 二重量子化とNF4:4ビットLLM最適化のための高度な技術
    • PEFTモデルを探る:LLMファインチューニングにおけるLoRAアダプタの役割
    • LLMサイズの概要:量子化されたLLMとファインチューニングされたLLM
  • 要約

    • QLoRA(Quantized LoRA)は、LLMを限られたGPUメモリ上で動かすための効率的な手法。
    • QLoRAの3つの主要ハイパーパラメタ(R、α、ターゲットモジュール)の説明
    • Google Colaboratory上でHugging FaceのPEFTライブラリを用い
      Llama 3.1にLoRA (Low-Rank Adaptation) を行う。
    • QLoRAの設定を行うことで、Llama 3.1のGPUメモリの消費量がどのように変化するかを観測する。
    • 4ビット量子化をすると、32ビット → 4ビットなので、
      大凡 4/32 = 1/8 にGPUメモリを圧縮できる。
    • LoRAでは学習されるパラメタが追加されサイズが増えるが、
      PEFTだけに僅かなパラメタサイズの増加で済む。
  • コンテンツ

Day2(Week7)

Day3(Week7)

  • 表題

    • QLoRAハイパーパラメタ:LLMのファインチューニングをマスターする
    • モデル学習におけるエポックとバッチサイズの理解
    • 学習率、勾配蓄積、オプティマイザの解説
    • ファインチューニングのための学習プロセスの設定
    • LLMの4ビット量子化LoRAファインチューニングのためのSFTTrainerの設定
    • LLMのファインチューニング:QLoRAで学習プロセスを開始する
    • Weights & Biasesによる学習の監視と管理
  • 要約

    • SFTTrainerセットアップ前にハイパーパラメタを解説
      (既出のQLoRA系のモノに加え、ドロップアウト)

    • 基本的なハイパーパラメタ、エポック、バッチサイズ、学習率、勾配累積、オプティマイザ

    • バッチサイズを大きくすると、GPUメモリ消費量が大きくなるので、勾配累積で対処する。

    • Llama 3.1 8Bのファインチューニング概要

      • Colab環境(4bitのQLoRAでT4でもできるが、講師はA100を使用)
      • ライブラリとツール(Hugging FaceのTRL、SFTTrainer、WandB)
      • データの最大シーケンス長は、GPUメモリに収まるように182トークンに設定
      • データセットは40万件、時間がかかるので、特定カテゴリ2万件でやるなどの方法もある。
    • Llama 3.1 8Bのファインチューニング詳細

      • Hugging Face(プル&プッシュ)とWandB(モニタリング)のログインと設定
      • DataCollatorForCompletionOnlyLMを使って、LLMがプロンプト全体ではなく、
        価格(price: $の次のトークン)のみを予測するように指示。
      • T4でセッションが切れたり、カーネルリスタートが発生する場合、
        output_dirやHubの情報からファインチューニングを再開できる。
      • 講師はGPUメモリを38/40GB使用、T4を使用する場合は、
        バッチサイズを小さくする必要があるため、16から1に変更するなどする。
      • ちなみに、過学習の傾向が出るためフロンティアLLMと同様にエポック数は1-3回
        (タスクやデータによる可能性はある)。
      • (余談:「XXXXはYYYYだ。」と言う100個程度の事実を学習させる場合、
        LLMを使用しデータ数を100→10000に拡張するなどするらしい。)
  • コンテンツ

Day4(Week7)

Day5(Week7)

Week8

Day1(Week8)

  • 表題

    • ファインチューニングからマルチエージェントシステムへ:次世代のLLMエンジニアリング
    • 自動取引発見システムのためのマルチエージェントAIアーキテクチャの構築
    • Modalを解き明かす:サーバーレス環境にLLMにデプロイする
    • クラウド上のLLAMA:LLMを効率的に実行する
    • サーバーレスLLM価格設定APIの構築:Modalによるステップバイステップガイド
    • 複数の本番LLMが控える:高度なRAGソリューションの準備
  • 要約

    • 「The Price is Right」は7つのエージェントが連携して動作する

      • プランニング・エージェント: 下記のエージェントを統合。
      • スキャナー・エージェント: RSSフィードからセール情報を見つける。
      • メッセージング・エージェント: お得なセール情報をプッシュ通知で送信。
      • アンサンブル・エージェント: 3つのモデル(FTed-LLM、RAG、回帰木)エージェントを
        アンサンブルし、商品の価値を推定。
    • FTed-LLMはサーバーレス・プラットフォームのModal.com上でホスティングさせる
      エージェントによりラップする。

    • 同様に(フロンティアLLM+)RAG、回帰モデルをエージェントによりラップする。

  • コンテンツ

Day2(Week8)

Day3(Week8)

Day4(Week8)

  • 表題

    • エージェントAIの5つの特徴:自律性、計画、メモリ
    • エージェントAIシステムの構築:Pushoverを通知に統合する
    • エージェントAIの実装:自動化ワークフローのための計画エージェントの作成
    • エージェントフレームワークの構築:LLMとPythonコードの接続
    • エージェントワークフローの完成:ビジネスアプリケーションのためのスケーリング
  • 要約

    • メッセージング・エージェントの実装(お得なセール情報をPushoverで通知)
    • プランニング・エージェントの実装
      (各エージェントを統合し、スキャン → 見積もり → 通知と実行する。)
    • 余談:エージェントの特徴(自律性、タスク分割、プランニング、ツール使用、環境/フレームワーク)
      ...このコースのエージェントは最新と比べ原始的。
    • 最後にエージェント・フレームワークを開発
      (主にエージェントの初期化、ログ出力、メモリ管理、
      データ可視化のためのインターフェースとして機能)
  • コンテンツ

Day5(Week8)

参考

コード

スライド

https://drive.google.com/drive/folders/1JwNorpRHdnf_pU0GE5yYtfKlyrKC3CoV

移行メモ

  • PukiWiki のページ内アンカ(#xxxxxxxx)は GitHub Wiki では再現できないため、

    • 同一ページ内のアンカは、見出しから生成されるアンカに張り替え、
    • 他ページのアンカを指すリンクは「〜(ページ名 の該当節を参照)」の形に置き換えた。
  • Week1〜Week8 に「Day1」〜「Day5」の見出しが重複し GitHub Wiki ではアンカが衝突するため、 「Day1(Week1)」のように括弧で週を補って一意にした。

  • 元 Wiki の行頭空白によるプレフォーマット・ブロック(requirements.txt)は、 フェンス付きコードブロックにした。

  • 元ページの誤記を修正した。 「ML/DN/LM」→「ML/DL/LLM」、「そのとファインチューニング」→「そのファインチューニング」、 「文字単語の中間」→「文字と単語の中間」、「以降コレラをまとめた」→「以降これらをまとめた」、 「LLMをのタスクに対する」→「LLM のタスクに対する」、 「チャンキング戦略の見直、」→「チャンキング戦略の見直し、」、 「価格を推定を人間による予測」→「価格の推定を、人間による予測」。

  • Week6 Day4 の「[Day3>#pe1f8ba1]]」は PukiWiki のリンク記法が壊れていたため、 同ページ内リンクとして復旧した。

  • Week8 の「分類木」は、実際に用いているのが RandomForestRegressor(回帰)であり 表題も「ランダムフォレスト回帰」であることから「回帰木」に修正した。


Tags: 移行, Udemy, LLM, LLMエンジニアリング, RAG, ファインチューニング, エージェント, Hugging Face, OpenAI, Gradio, QLoRA

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally