🚀 asadfgglie/banban-beta-v2
這是一個AI VTuber闆闆模型,目標是打造屬於NTNU VLSI的專屬AI VT。目前僅開放給NTNU VLSI社員使用。該模型主要使用大量AI合成數據進行訓練,並輔以少量人類數據。
🚀 快速開始
首先你需要根據你的電腦硬件情況選擇模型。你可以在Files and versions中挑選結尾有帶gguf附檔名的檔案,這是模型的權重檔案。
其中比較特殊的是mmproj-model-f16.gguf
,這是讓闆闆睜眼的clip權重檔案。若你有讓闆闆睜眼的需求,記得別忘了下載這個檔案。
這是經過gguf量化後的模型,因此可以用在任何支持llama.cpp的部屬環境中。
關於如何選擇模型尺寸,最簡單的建議是將模型權重的檔案大小乘以2,如果你的顯卡專屬記憶體容量大於這個數,那你可以放心選擇。
至於各種不同量化設定對於模型智力與速度的影響,各位可以簡單理解為:模型權重檔案越大,模型精度就越高,能力就越強,速度也就越慢。對於至少有6B顯卡專屬記憶體(RTX 3050 6G、RTX 4060),我推薦使用Q3量化級別的模型已取得最佳速度,並且保證不會有顯卡記憶體不足的問題,只要你別開著模型的同時打遊戲。
對於有10G或以上顯卡記憶體,可以選擇Q4、Q5級別的量化,這是在速度與性能上達到良好平衡的量化版本。
至於Q6、Q8,我建議是RTX 4080,但Q6量化有16G顯卡記憶體的話可以嘗試一下,應該能行。
F16則是原始精度,只是以gguf格式儲存,有RTX 4090玩過後可以告訴我效果如何。理論上應該會比我自己測試時還要好。因為我只能用量化過後的模型來測試QQ。
對於不會寫程式,只想嚐鮮的新手們,我的建議是LM Studio,這個免費的專案可以很方便地幫你搞定一切麻煩的設定,只是沒辦法使用自定義名稱,因此可能會無法體驗到最佳的對話效果。同時別忘了mmproj-model-f16.gguf
這個闆闆的眼睛!
(主要是因為這東西還沒把內部的對話紀錄儲存格式更新到與openAI最新版API相同的模樣,最新版的openAI API已經支援定義每個message的作者名稱設定了,llama3本身也設計過prompt格式,也有限度的支援自定義作者名稱)
如果你選擇使用oobabooga/text-generation-webui來做為你的推理平臺,由於這個專案本身不支援對llama.cpp
的多模態功能,因此闆闆只能生活在文字背後(當一個躲在鍵盤後的鍵盤俠)
✨ 主要特性
- AI VTuber模型:專為聊天與VT直播打造,目前主要用於聊天。
- 數據訓練:使用大量AI合成數據和少量人類數據進行訓練。
- 模型類型:基於LlavaForConditionalGeneration,將基礎模型轉換為llama3。
📦 安裝指南
文檔未提及具體安裝命令,跳過該章節。
💻 使用示例
文檔未提供代碼示例,跳過該章節。
📚 詳細文檔
模型描述
用途
直接使用
你可以直接拿它當普通的AI助手來用,嗯,帶點食品偏好鳳梨狂熱的助手。
超出適用範圍的使用
關於一些政治類問題我不建議你去問闆闆,主要原因是基底模型Llama3本身就被訓練會避開這些問題回答。
偏差、風險和限制
闆闆是一名狂熱的鳳梨披薩支持者,從現在是,以後未來也是。這是直接寫在訓練集與prompt中的設定,屬於刻在DNA裡的印記,是神聖不可分割的一部分!
建議
你必須接受鳳梨披薩才能理解闆闆。
🔧 技術細節
模型架構和目標
LlavaForConditionalGeneration,將基礎模型轉換為llama3。
計算基礎設施
硬件
- CPU: Intel(R) Core(TM) i5 - 14400
- GPU: NVIDIA GeForce RTX 4060 Ti 16G
- RAM: 32G
軟件
感謝偉大的hiyouga/LLaMA-Factory讓我省下了大把搞基建的時間。
訓練過程
訓練超參數
以下超參數在訓練過程中使用:
- learning_rate: 5e - 05
- train_batch_size: 1
- eval_batch_size: 1
- seed: 42
- gradient_accumulation_steps: 16
- total_train_batch_size: 16
- optimizer: Adam with betas=(0.9, 0.999) and epsilon=1e - 08
- lr_scheduler_type: cosine
- num_epochs: 3.0
訓練結果
訓練損失 |
輪次 |
步數 |
驗證損失 |
輸入令牌數 |
1.2315 |
0.4168 |
100 |
1.1917 |
1551832 |
1.0165 |
0.8336 |
200 |
1.0467 |
3072864 |
0.8943 |
1.2503 |
300 |
0.9339 |
4609344 |
0.7505 |
1.6671 |
400 |
0.8318 |
6138408 |
0.577 |
2.0839 |
500 |
0.7647 |
7672440 |
0.5811 |
2.5007 |
600 |
0.7326 |
9211432 |
0.5544 |
2.9174 |
700 |
0.7245 |
10741104 |
指標 |
得分 |
predict_bleu - 4 |
22.36944225630876 |
predict_model_preparation_time |
0.0048 |
predict_rouge - 1 |
41.827983993072735 |
predict_rouge - 2 |
21.250519792182086 |
predict_rouge - l |
36.58219059871351 |
predict_runtime |
55992.1102 |
predict_samples_per_second |
0.072 |
predict_steps_per_second |
0.072 |
框架版本
- PEFT 0.11.1
- Transformers 4.43.2
- Pytorch 2.3.0+cu121
- Datasets 2.19.2
- Tokenizers 0.19.1
📄 許可證
僅供NTNU VLSI社員內部研究使用。