在基于LLamaFactory微調完具備思維鏈的DeepSeek模型之后(詳見《深入探究LLamaFactory推理DeepSeek蒸餾模型時無法展示<think>思考過程的問題》),接下來就需要針對微調好的模型或者是原始模型(注意需要有一個本地的模型文件,全量微調就是saves下面的文件夾,如果是LoRA,還需要進行一步導出模型的操作),實現快速高效的模型推理。本文將詳細分享如何基于Transformer框架,通過多GPU并行實現DeepSeek模型的非流式批量推理,并解決在實踐中遇到的關鍵技術挑戰如輸出結果錯亂、tokenizer編碼參數、tokenizer解碼輸出、推理效果不一致、開啟多卡多進程推理等等。
文章目錄
- 單卡并行
- 源碼解讀
- 實現細節
- 如何通過設置padding_side解決輸出結果錯亂的問題
- tokenizer編碼時的參數設置會如何影響最終效果
- 核心參數及其作用
- 推薦使用場景
- 如何準確提取tokenizer解碼時的輸出部分
- 如何通過調整transformer庫版本解決推理效果不一致的問題
- 多卡并行
- 源碼解讀
- 實現細節
- 如何在無Dataloader的前提下解決多卡并行的問題
- 如何解決多線程推理結果反而變慢的問題
??進入大模型應用與實戰專欄 | ??查看更多專欄內容