Training Agents: Live tutorial on how to fine-tune a coding agent for continual learning

by Hugging Face

逐字稿整理版

00:01:12

  • 主講者先向觀眾打招呼,表示這是 Training Agents 的第一堂課,也會先等大家加入直播。
  • 這場直播是系列的 episode one。

00:04:10

  • 主講者提到,接下來的系列大致會分成三段:
    1. SFT(像這次一樣)
    2. basic RL
    3. advanced RL with an environment

00:04:55

  • 主講者介紹 Quentin Galludec,說他來自 TRL 的維護者團隊。
  • Quentin 在留言區可能會回答相關問題。

00:08:53

  • 主講者說,如果要訓練 agent,理想上可以拿一個 real-world dataset,甚至是自己蒐集的 agent traces。
  • 但自己蒐集 traces 會讓課程起手太慢,所以他改用 Mario Zechner 的 traces dataset;Mario 也是 Pie agent harness 的作者。

00:14:21

  • 主講者直接要求:「please use HF Jobs to run this model」。
  • 他要用 Hugging Face Jobs 來跑每一次訓練,並用 TrackIO 追蹤所有 run。
  • 他也提到要把 adapters 推到 Hugging Face repository,最後用 held-out eval loss 選出 best run。

00:20:34

  • 主講者開始進入實作與訓練流程,說明會用 HF Jobs 持續跑實驗。

00:46:31

  • 主講者回到 SFT 的關鍵點:不對 user tokens 計算 loss。
  • 這就是 SFT 的定義性做法之一。

00:46:42

  • 他用 Transformers 的 apply_chat_template 來把 trace 轉成 Python format。
  • 接著把 user message 與 assistant message 分開,準備做 token masking。

00:47:22

  • 他說要把不是 assistant 的 token 全部 mask 掉。
  • 核心意思是:Everything that the user said 都不要算進 loss,模型只學 assistant 要輸出的部分。

00:47:56

  • 接著是典型 training loop:forward pass、generate text、shift / align logits、calculate loss、update / optimize。
  • 主講者提到這裡用 Adam optimizer 與 cross entropy loss。

00:48:21

  • 他補充說,這就是一個很典型的 training loop。

觀察

  • 這一集的核心不是炫技,而是把「coding agent traces → prompt/completion pairs → SFT baseline → 可追蹤的實驗管理」串成一條完整流程。
  • 影片很明確把 SFT 放在 RL 之前,先做能落地的基線,再往更複雜的環境式訓練前進。