🚀 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社员内部研究使用。