理清這團亂麻

釋出於 2024 年 6 月 7 日
在 GitHub 上更新

大約 3 年前,當我加入 Hugging Face 時,Transformers 的文件與今天的形式大不相同。它側重於文字模型以及如何訓練或使用它們來對自然語言任務(文字分類、摘要、語言建模等)進行推理。

今天的 Transformers 文件主版本與近 3 年前的 4.10.0 版本對比。

隨著 transformer 模型越來越成為 AI 的預設方法,文件也大幅擴充套件,包含了新的模型和新的使用模式。但新內容的增加是漸進式的,沒有真正考慮到受眾和 Transformers 庫的演變。

我認為這就是文件體驗 (DocX) 感覺脫節、難以導航和過時的原因。基本上,一團糟。

這就是為什麼有必要重新設計 Transformers 文件,以理清這一團糟。目標是:

  1. 為有興趣用 AI 構建產品的開發者編寫。
  2. 允許有機的文件結構和自然的增長,而不是僵化地遵循預定義的結構。
  3. 透過整合內容而非將其修訂到現有文件中,創造更統一的文件體驗。

新的受眾

Transformers 文件最初是為機器學習工程師、研究人員和模型愛好者編寫的。

現在 AI 更加主流和成熟,而不僅僅是一時的風尚,開發者們越來越有興趣學習如何將 AI 構建到產品中。這意味著要認識到開發者與文件的互動方式不同於機器學習工程師和研究人員。

兩個關鍵的區別是:

  • 開發者通常從程式碼示例開始,並尋找解決他們試圖解決的問題的方法。
  • 不熟悉 AI 的開發者可能會對 Transformers 感到不知所措。如果你不瞭解它們的使用背景,程式碼示例的價值就會降低,甚至變得毫無用處。

透過這次重新設計,Transformers 文件將更加程式碼優先和以解決方案為導向。程式碼和初級機器學習概念的解釋將緊密結合,以提供更完整和對初學者友好的入門體驗。

一旦開發者有了基本的瞭解,他們就可以逐步提升自己的 Transformers 知識水平。

走向更有機的結構

我在 Hugging Face 的第一個專案之一就是將 Transformers 文件與 Diátaxis 對齊,這是一種基於使用者需求(學習、解決問題、理解、參考)的文件方法

但在某個時候,我開始將 Diátaxis 用作計劃而不是指南。我試圖強行將內容整齊地歸入 4 個預設類別之一。

僵化的結構阻礙了自然形成的內容結構的出現,並妨礙了文件的適應和擴充套件。關於一個主題的文件很快就跨越了幾個部分,因為這是結構所規定的,而不是因為它合理。

結構複雜沒關係,但如果它複雜不容易找到方向,那就不可取了。

這次重新設計將用靈活性取代僵化,使文件能夠成長和演變。

整合與修訂

年輪提供了過去的氣候記錄(乾旱、洪水、野火等)。在某種程度上,Transformers 文件也有自己的年輪或時代,記錄了它的演變:

  1. 不僅僅是文字時代:Transformer 模型被用於其他模態,如計算機視覺音訊多模態,而不僅僅是文字。
  2. 大語言模型 (LLM) 時代:Transformer 模型的引數擴充套件到數十億,導致了與它們互動的新方式,例如提示聊天。你開始看到更多關於如何高效訓練 LLM 的文件,比如使用引數高效微調 (PEFT) 方法、分散式訓練資料並行
  3. 最佳化時代:除非你是 GPU 富豪,否則執行 LLM 進行推理或訓練可能是一個挑戰,所以現在人們對如何為 GPU 窮人普及 LLM 產生了極大的興趣。有更多關於諸如量化FlashAttention、最佳化鍵值快取低秩適應 (LoRA) 等方法的文件。

每個時代都漸進地向文件中新增新內容,使其先前部分失衡和模糊。內容分佈在更廣的面上,導航也變得更加複雜。

在年輪模型中,新內容逐層疊加在先前內容之上。而在整合模型中,內容作為整個文件的一部分共存。

重新設計將有助於重新平衡整體文件體驗。內容將感覺像是原生的和整合的,而不是附加的。

下一步

這篇文章探討了我們尋求重新設計 Transformers 文件的原因和動機。

敬請期待下一篇文章,它將更詳細地識別混亂之處,並回答一些重要問題,例如,目標使用者和利益相關者是誰,內容的當前狀態如何,以及它如何被解讀。


特別感謝 [@evilpingwin](https://x.com/evilpingwin) 為重新設計文件提供的反饋和動力。

社群

註冊登入以發表評論

© . This site is unofficial and not affiliated with Hugging Face, Inc.