前言:
在本项目中,我主要负责大模型的本地部署,个人工作主要围绕探索模型本地部署技术、模型训练、模型微调以及AI开发工具使用等方面展开。为了确保模型的稳定性、回答的特殊性,我在开发过程中具体需要做的事有:
积累训练数据
在项目开发过程中我选择从Bright Data、Statista、Datarade、AWS Data Exchange 、Zyte、Kaggle等数据集网站获取相关数据。
Kaggle
适合数据科学的免费公共数据集和工具。
什么是数据集?数据集是与特定主题相关的数据集合,通常以结构化的格式组织。这个结构通常是表格、电子表格或文件组。在表格和电子表格中,列定义了结构,而行代表了数据记录,如Excel文件。
本地部署模型
由于本地GPU仅有3060 laptop,算力明显不足,因此选择使用autodl提供的线上GPU租赁平台来提供算力,但在租赁之前我们需要了解deepseek什么时候会用到GPU
1.模型下载阶段:
不需要使用GPU但是当加载大模型时,现存不足,部分框架会自动将模型权重卸载到CPU
2.模型推理阶段
生成文本:
-
GPU 负责计算注意力机制(Attention)、矩阵乘法(GEMM)等核心操作,显存大小直接影响:
-
支持的模型规模(如 6GB 显存可运行 7B 4-bit 量化模型,但无法运行全精度 7B)。
-
推理速度(GPU 的 CUDA 核心数决定 tokens/s)。
-
因此该阶段GPU是必须的
3.模型微调阶段
强烈依赖GPU
-
微调需要计算梯度并更新权重,显存占用远高于推理:
-
全参数微调:7B 模型需 >80GB 显存(需 A100 80GB)。
-
LoRA/QLoRA:可降低显存需求(如 7B 模型需 16~24GB 显存)。
-
-
关键操作:
-
反向传播(Backpropagation)。
-
优化器状态存储(如 AdamW 需额外显存)。
-
4.量化阶段
量化操作:量化(Quantization) 是深度学习中的一种模型压缩技术,通过 降低模型参数的数值精度(如从 32 位浮点数 FP32
降到 8 位整数 INT8
或 4 位 INT4
),从而减少模型的计算量、显存占用和存储空间,同时尽量保持模型的推理性能。
不依赖GPU,但GPU可以对该过程加速
5.评估测试阶段:
计算评估指标(如困惑度 Perplexity)时,小批量数据可以在 CPU 上运行,但 GPU 会更快。但总体上来说并不依赖GPU
常用的评估手段
指标 | 计算方式 | 作用 |
---|---|---|
困惑度(Perplexity, PPL) | 衡量模型预测下一个词的难度,越低越好 | 评估语言建模能力(适用于预训练) |
BLEU | 对比生成文本和参考文本的n-gram匹配 | 常用于机器翻译/摘要评估 |
ROUGE | 计算召回率(Rouge-L/F1) | 适用于摘要生成、问答任务 |
METEOR | 考虑同义词和词干的匹配 | 比BLEU更接近人类判断 |
综上所述,GPU的依赖仅仅是在提供服务和模型训练上。
成本计算
项目计划采用V100 32GB显卡进行训练(1.88元/h),模型使用deepseek-coder-6.7b,训练时长大约为20h,成本37.6元。提供服务,中期答辩(8h),期末答辩(8h),总共16h,成本30.8元
总成本68.4元,可接受。