1-2B参数规模大模型使用心得及模型汇总

大模型时代,根据大模型缩放定律,大家通常都在追求模型的参数规模更大、训练的数据更多,从而使得大模型涌现出更多的智能。但是,模型参数越大部署压力就越大。即使有gptq、fastllm、vllm等推理加速方法,但如果GPU资源不够也很难保证高并发。

那么如何在模型变小的同时,模型效果不明显下降,在指定任务上也可以媲美大模型的效果呢?

Google前几天发布的Gemini,在移动端采用1.8B参数模型面向低端手机,3.25B参数模型面向高端手机。

图片

An overview of the Gemini 1.0 model family

而微软最近也是推出了2.7B的Phi-2模型,评测效果绝群。

图片

Averaged performance on grouped benchmarks compared to popular open-source SLMs

图片

Comparison between Phi-2 and Gemini Nano 2 Model on Gemini’s reported benchmarks

恰好笔者前段时间也在研究1-2B参数量左右的模型,因此写写心得体会;并汇总了一下现在市面上开源的1-2B参数量的大模型。

这波反向操作,佛曰:不可说。

如何使大模型变小

模型压缩的方法包括:用更多的数据硬训练小模型、通过大模型对小模型进行蒸馏、通过大模型对小模型进行剪枝、对大模型进行量化、对大模型进行低秩分解。

图片

Taxonomy of Model Compression methods for Large Language Models

但是模型参数量变小还是硬训练或蒸馏一个参数量小的模型,剪枝和量化只是对模型进行推理加速,本质上参数量没有变少。

Paper: https://arxiv.org/pdf/2308.07633.pdf

对于预训练阶段来说,往往需要更多的数据硬训练。参数规模不够,只能数据质量和数据数量来凑。

图片

Textbooks Are All You Need

而在指令微调阶段,往往是蒸馏更优秀的大模型,来让小模型效果更好。利用GPT3.5、GPT4的数据直接指令微调是对闭源大模型蒸馏的方法之一,也是目前大家主流的做法。但也可以在蒸馏过程中,利用闭源大模型充当一个裁判来判别教师模型回答和学生模型回答的差异,让学生模型向老师模型(闭源)进行反馈,重点是找到困难数据让学生模型进行更好的学习。

图片

Lion: Adversarial Distillation of Proprietary Large Language Models

当然如果你本身拥有更大更好的大模型,那么就可以用标准的知识蒸馏来进行模型蒸馏,利用KL散度,对教师模型和学生模型输出概率分布之间的差异进行训练学习。

将更大模型的效果蒸馏到小模型上,会比硬训练的效果要理想,但首先要有一个可获取网络各层logits的大&好&强的模型。

训练1-2B参数规模使我痛并快乐

  • 训练1-2B模型让我又找到了全量调参的快乐,之前受显卡限制,都是Lora、QLora等方法训练。

  • 模型部署阶段,再也不用为显存发愁,老卡也轻轻松松进行模型部署。对于2B模型,Float32进行参数部署也就8G、Float16就需要4G,如果再做量化的话更小,甚至CPU部署速度也可以接受。

  • 同等数据情况下,效果确实不如更大的模型。以Qwen1.8B和7B为例,在自己任务上指标差了7-10个点。

  • 在个人任务上,通过增加数据,将训练数据扩大2-4倍并提高数据质量之后,效果基本上可以媲美。

  • 小模型在没有定制优化的任务上,就一言难尽了,泛化能力等都远不如更大的模型。

  • 用了小模型之后,再也没被吐槽过速度了。

主流1-2B参数规模的大模型汇总

共整理了14个1-2B参数规模的大模型,按照参数量从大到小排序,如下所示。图片

技术交流群

前沿技术资讯、算法交流、求职内推、算法竞赛、面试交流(校招、社招、实习)等、与 10000+来自港科大、北大、清华、中科院、CMU、腾讯、百度等名校名企开发者互动交流~

建了技术交流群&星球!想要资料、进交流群的同学,可以直接加微信号:mlc2060。加的时候备注一下:研究方向 +学校/公司,即可。然后就可以拉你进群了。

方式①、添加微信号:mlc2060,备注:大模型资料 or 技术交流
方式②、微信搜索公众号:机器学习社区,后台回复:大模型资料 or 技术交流

在这里插入图片描述

在这里插入图片描述

Yuan2.0-2B

Yuan2.0-2B是浪潮发布的Yuan2.0大模型的2B版本,采用中英文的高质量资料,包括书籍、百科、论文等。Yuan2.0-2B模型层数24层,隐藏层维度2048,支持最大长度8192。

Github: https://github.com/IEIT-Yuan/Yuan-2.0
HF: https://huggingface.co/IEITYuan/Yuan2.0-2B
Paper: https://arxiv.org/ftp/arxiv/papers/2311/2311.15786.pdf

Qwen-1.8B

Qwen-1.8B是阿里发布的Qwen大模型的1.8B版本,采用2.2TB Token的数据进行预训练,包含高质量中、英、多语言、代码、数学等数据,涵盖通用及专业领域的训练语料。Qwen-1.8B模型层数24层,隐藏层维度2048,支持最大长度8192,并且开源了对应的Chat模型。

Github: https://github.com/QwenLM/Qwen
HF: https://huggingface.co/Qwen/Qwen-1_8B
Paper: https://arxiv.org/pdf/2309.16609.pdf

Bloom-1.7B&1.1B

Bloom-1.7B&1.1B是Hugging Face牵头组织的BigScience项目开源的Bloom大模型的1.7B和1.1B版本。训练数据涉及46种自然语言和13种编程语言,共计1.6TB的文本数据。Bloom-1.7B模型层数24层,隐藏层维度2048,支持最大长度2048。Bloom-1.1B模型层数24层,隐藏层维度1536,支持最大长度2048。

HF: https://huggingface.co/bigscience/bloom
Paper: https://arxiv.org/pdf/2211.05100.pdf

Pythia-1.4B&1B

Pythia-1.4B&1B是EleutherAI开源的Pythia的1.4B和1B版本。主要使用300B Token的The Pile数据集进行训练。Pythia-1.4B模型层数24层,隐藏层维度2048。Pythia-1B模型层数16层,隐藏层维度2048。

Github: https://github.com/EleutherAI/pythia
HF: https://huggingface.co/EleutherAI/pythia-1b
&&
HF: https://huggingface.co/EleutherAI/pythia-1.4b
Paper: https://arxiv.org/pdf/2304.01373.pdf

Phi-1&Phi-1.5

Phi-1&Phi-1.5是微软开源的Phi大模型的两个不同版本,均有1.3B参数,模型层数24层,隐藏层维度2048。Phi-1模型训练54B Token的数据,而Phi-1.5模型训练150B Token的数据。

HF: https://huggingface.co/microsoft/phi-1
Paper: https://arxiv.org/pdf/2306.11644.pdf
&
HF: https://huggingface.co/microsoft/phi-1_5
Paper: https://arxiv.org/pdf/2309.05463.pdf

Deepseek-Coder-1.3B

Deepseek-Coder-1.3B是深度求索发布开源的Deepseek-Coder的1.3B版本,采用1TB Token的数据进行预训练,数据由87%的代码和13%的中英文自然语言组成,模型层数24层,隐藏层维度2048。

Github: https://github.com/deepseek-ai/deepseek-coder
HF: https://huggingface.co/deepseek-ai/deepseek-coder-1.3b-base

Galactica-1.3B

Galactica-1.3b是MetaAI开源的Galactica大模型的1.3B版本,采用106B Token数据进行训练,数据主要来自论文、参考资料、百科全书和其他科学来源等。模型层数24层,隐藏层维度2048。

Github: https://github.com/paperswithcode/galai/blob/main/docs/model_card.md
HF: https://huggingface.co/facebook/galactica-1.3b
Paper: https://galactica.org/static/paper.pdf

GPT-Sw3-1.3B

GPT-Sw3-1.3B是AI Sweden开源的GPT-SW3大模型的1.3B版本,采用320B Token数据进行训练,数据主要由瑞典语、挪威语、丹麦语、冰岛语、英语和编程代码数据集组成。模型层数24层,隐藏层维度2048。

HF: https://huggingface.co/AI-Sweden-Models/gpt-sw3-1.3b

GPT-Neo-1.3B

GPT-Neo-1.3B是EleutherAI开源的GPT-Neo大模型的1.3B版本,GPT-Neo模型主要为了复现的GPT-3模型,采用380B Token数据进行训练,模型层数24层,隐藏层维度2048。

HF: https://huggingface.co/EleutherAI/gpt-neo-1.3B

OPT-1.3B

OPT-1.3B模型是由MetaAI开源的OPT大模型的1.3B版本,采用180B Token数据进行训练,模型层数24层,隐藏层维度2048。

HF: https://huggingface.co/facebook/opt-1.3b
Paper: https://arxiv.org/pdf/2205.01068.pdf

TinyLlama-1.1B

TinyLlama模型是一个1.1B参数的Llama模型,旨在3TB Token的数据上进行训练,目前训练到2.5TB Token数据,模型层数22层,隐藏层维度2048。

Github: https://huggingface.co/TinyLlama/TinyLlama-1.1B-intermediate-step-1195k-token-2.5T
HF: https://huggingface.co/facebook/opt-1.3b

写到最后

如果领导非要部署大模型,但对效果要求没有那么高,又没有资源支持,那么选择一个1-2B的模型也是不错的呦。

### YOLOv8-seg 模型使用指南 #### 1. 模型概述 YOLOv8-seg 是一种基于实例分割的任务模型,能够同时完成目标检测和像素级别的语义分割。该模型适用于多种场景下的对象识别与区域划分任务。 --- #### 2. 编译与运行环境准备 为了顺利使用 YOLOv8-seg 模型,需确保开发环境中已安装必要的依赖库以及配置好 GPU/CPU 推理支持工具链。具体操作如下: - 安装 PyTorch 和 Ultralytics 库: ```bash pip install torch torchvision ultralytics ``` - 如果需要 TensorRT 加速推理,则额外安装 NVIDIA 的 TensorRT SDK 并设置路径变量[^1]。 --- #### 3. 数据集准备 对于训练阶段,建议采用 COCO 或自定义标注数据集作为输入源。以下命令可用于下载官方提供的 `coco128-seg` 小规模测试集合[^2]: ```bash git clone https://github.com/ultralytics/yolov5.git cd yolov5 && wget https://github.com/ultralytics/yolov5/releases/download/v1.0/coco128-seg.zip unzip coco128-seg.zip ``` --- #### 4. 训练流程 利用内置脚本启动模型训练过程,指定参数如 epochs 数量、批次大小等即可实现自动化学习调整[^2]: ```python !python train.py \ --data coco128-seg.yaml \ --cfg yolov8-seg.yaml \ --epochs 50 \ --batch-size 16 ``` 此过程中会生成对应的权重文件存放在 runs/train/exp 目录下供后续加载调用。 --- #### 5. 预测后处理逻辑解析 当执行推断时,原始输出通常包含边界框坐标、类别标签及其关联 Masks 矩阵等内容。这些初步结果还需经历一系列优化步骤才能最终呈现给用户界面显示效果良好版本[^3] : - **置信度过滤**: 移除低于设定阈值的所有候选框; - **非极大抑制 (NMS)**: 解决重叠区域内重复标记问题; - **Mask 提取**: 对应于保留下来的每一个物体提取相应掩膜片段; - **尺寸还原映射**: 把裁剪缩放后的特征重新投影回原图比例空间位置处; 特别值得注意的是新版框架内部结构改动使得原本独立存在的分类得分项被融合进了单一向量表示形式里从而减少了维度占用开销由原来的85降至当前状态下的84维长度表达方式更加紧凑高效[^3]. --- #### 6. 示例代码展示 以下是完整的 Python 脚本演示如何加载预训练好的 YOLOv8-seg 权重并针对单张图片实施预测分析功能: ```python from ultralytics import YOLO import cv2 import numpy as np # 初始化模型 model = YOLO('path/to/best.pt') img_path = 'test.jpg' image = cv2.imread(img_path) results = model.predict(image, conf=0.5, iou=0.7)[0] for r in results.masks.xy: seg = np.array(r).astype(np.int32) image = cv2.polylines(image,[seg],True,(255,0,0),2) cv2.imshow("Segmentation Result", image) cv2.waitKey(0); cv2.destroyAllWindows() ``` 上述程序段落实现了读入待检视影像资料送交至先前已完成定制化微调过的神经网络实体当中去获取返回来的各类别特定轮廓线条描绘出来叠加覆盖在初始画面上形成直观可视化成果展现形式便于观察理解整个工作原理机制运作情况[^3]. --- #### 7. 下载资源链接汇总 有关最新版文档手册地址可以访问官方网站或者 GitHub 存储仓库页面查阅相关内容说明材料包括但不限于 API 参考手册、常见问答解答FAQ列表等等实用参考资料[^3]: - [Ultralytics Official Documentation](https://docs.ultralytics.com/) - [GitHub Repository](https://github.com/ultralytics/ultralytics) 另外关于特殊硬件加速方案比如Tensor RT部署指导也可以参阅对应厂商技术支持站点找到匹配自己平台架构的最佳实践案例分享交流经验心得共同进步成长[^1]. ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值