OpenAI Triton Note (1): 向量相加
介紹
Triton 是一套開源的 GPU 程式語言編譯器,由 OpenAI 於 2021 年發佈,近年來有越來越多的開發使用 Triton 來編寫與優化在 GPU 上的併行程式。相較傳統 CUDA/OpenCL 等函式庫,Triton 提供了一種 Python-like 語法,顯得更清晰與容易上手。
Read More »OpenAI Triton Note (1): 向量相加Triton 是一套開源的 GPU 程式語言編譯器,由 OpenAI 於 2021 年發佈,近年來有越來越多的開發使用 Triton 來編寫與優化在 GPU 上的併行程式。相較傳統 CUDA/OpenCL 等函式庫,Triton 提供了一種 Python-like 語法,顯得更清晰與容易上手。
Read More »OpenAI Triton Note (1): 向量相加2023 年是生成式 AI 大爆發的一年,各式各樣的 AI 應用層出不窮。其中在自然語言處理(NLP)領域中,大型語言模型(Large Language Model, LLM)絕對是最重要的技術。只要把 LLM 訓練好、減少幻覺,就會在各式各樣的任務上減少人力。
Read More »[論文閱讀] RAGAS: Automated Evaluation of Retrieval Augmented Generation我之前曾寫了一篇介紹 vLLM 加速推理框架的筆記(使用 vLLM 進行大型語言模型(LLM)的高速推理),然而因受篇幅與時間限制,沒來得及探討更細緻的功能。
Read More »使用 vLLM 作為動態批次(Dynamic Batching)加速推理的 API 服務HuggingFace 之前曾經發表過文章表示現在的 LLM最好是依照 ChatML 格式去訓練,在一般情況下,會按照 system、user、assistant 的三種不同角色來進行生成,格式如下:
Read More »[已解決] Mistral 經過 SFTTrainer 微調後不會輸出 eos_token `<|im_end|>`在大型語言模型(Large Language Model, LLM)的微調任務中,監督式微調(Supervised Fine-tuning, SFT)、基於人類反饋強化學習(Reinforcement Learning from Human Feedback, RLHF)和直接偏好優化(DPO)... 等等都是不錯的方法,不過他們之間存在一些差異。
Read More »LLM 微調筆記 - SFT 和 DPO 的差異DPO(Direct Preference Optimization, 直接偏好優化)是一種取代 RLHF(Reinforcement Learning from Human Feedback, 基於人類反饋的強化學習)的微調方式。眾所皆知,大型語言模型在經過非監督式學習後能夠學習到大量的知識與理解能力(有些研究者認為是『壓縮並保存』了知識在神經網路權重中);在監督式學習後學會了流暢地回應我們的問題,或者說是學會了『對話』的能力。
Read More »Direct Preference Optimization (DPO) 訓練方法筆記昨晚,我在改進一段將模型融合的程式碼時,由於個人設備資源不足,我採取分層合併的方法,一次只取一層的記憶體進行合併,以此減少系統同時保存的模型記憶體大小。然而,我發現模型雖然在 GPU 中的記憶體很容易被刪除、但是 CPU 中的記憶體被回收是十分不容易的。這涉及到了 Python 的資源回收器的設計。
Read More »[PyTorch] 將模型刪除後,釋放 GPU / CPU 的記憶體空間vLLM 是加州柏克萊分校所開發的一種大型語言模型(Large Language Model, LLM)加速推理框架。它主要是利用 PagedAttention 機制提高了 GPU VRAM 的使用率,並且這一方法無須更改模型的架構。
Read More »使用 vLLM 進行大型語言模型(LLM)的高速推理我雖然整天都在看 AI 的東西,但是 AI 中各式各樣的『架構』、『突破』、『理論』實在是太多太多了,很多東西我都是模模糊糊地知道個大概,了解了觀念就放在一邊。大部分徹地深入的認識,通通都是等到實戰時,必須自己跳下去親手改架構時才會領悟。
Read More »[Machine Learning] LLM 架構視覺化教學網站 LLM Visualization 分享