61|0

23

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

《大语言模型开发:用开源模型开发本地系统》第9-10章阅读心得之模型部署与中文私... [复制链接]

 

精研《大语言模型开发》第9-10章的推理与中文适配技术,我被作者对技术细节的精准把控所折服。作者讲到GPU推理分为单卡、多卡、多机三种推理方式。Hugging Face的Transformers库一小节中,尤其专门对其中的Pipeline API节省,它封装了tokenizer、model和post-processing,一行代码就能实现text-generation。而Model and Tokenizer API提供了更底层的控制 —— AutoModelForCausalLM.from_pretrained()加载模型, AutoTokenizer同步词表配置,encode处理输入,decode还原输出。vLLM的推理性能优化令我印象深刻:它通过PagedAttention将KV Cache存储在CPU内存,按需调度到GPU显存;通过Continuous Batching合并多请求到一个batch;利用CUDA Graph缓存计算图预编译。这些技术使得vLLM在相同硬件下比原生transformers快3-5倍。解码策略章节也干货满满,作者深入剖析了temperature(通过缩放logits影响采样随机性)、top-k(只保留概率最高的k个token)、top-p(累积概率和超过p的最小token集)等参数的工作机制,代码示例展示了如何用transformers.GenerationConfig灵活配置这些参数。

LLaMA.cpp的量化技术堪称点睛之笔。常规的INT8量化会导致较大精度损失,而k-quant采用了更巧妙的方案:将权重矩阵按行分块,每块用4个码本量化,同时保存量化误差的特征向量。这种方法在仅损失1-2%精度的情况下把模型压缩到原来的1/4。作者还展示了完整的量化流程:先用convert.py将huggingface模型转为ggml格式,再用quantize把fp16模型量化成q4_k_m格式。运行时通过llama.cpp提供的C API加载量化模型,调用llama_token_get_text()解码输出。这套技术栈让7B模型在笔记本CPU上也能流畅运行。

中文私有模型开发章节全面解读了Chinese-LLaMA-Alpaca-2项目。该项目巧妙扩充了中文词表:先用SentencePiece统计目标语料词频,筛选高频中文token补充到原版词表,用merge-tokenizer.py合并新旧词表并对齐embedding。效果非常惊艳 - 扩充后的模型在中文理解上提升显著,MMLU中文测试提高了5-8个百分点。长文本处理能力也很强,通过优化注意力计算支持16K tokens输入,用NTK方法甚至能扩展到24K+。项目开源了从1.3B到13B多个规模的模型,轻量版适合研究试验,重量级适合生产部署。作者还详细介绍了如何用Flash Attention 2.0加速训练,如何配置DeepSpeed ZeRO-3进行分布式训练。
 

 

作者对于工程实践的讲解部分也是干货满满。他建议demo系统用Gradio搭建Web界面,生产系统用FastAPI+asyncio处理并发请求。而服务端配置也很实用:轻量应用用8GB显存就能跑通4bit量化的7B模型,高负载场景推荐A100-80G卡。私有数据准备也很完整,从数据源选择(维基、新闻评论等)到数据清洗(去重、过滤、格式化),每个环节都有具体代码。这种完整的工程化思路极大降低了技术门槛。特别精彩的是多机推理方案:用RPC封装成微服务,Nginx做负载均衡,Redis缓存KV pairs,既保证了性能又做到了高可用。
  

本书这些内容都是相对硬核,比较费时费力去完成的。而鉴于我个人设备的硬件条件束缚,加上我个人有其他诸多事情缠身,暂时不对相关项目进行具体实操等到明年过年那阵子相对清闲一些,我再租用在线的高性能服务器去动手实践。
 

最后指出一个看书过程中发现的明显的错误,本书第238页第二段落,也即是9.4.2 Pipeline API章节有一段内容为“Pipeline支持多种任务:文本分类、文本生成、摘要、情感分类等,对应的任务名称为sentiment-analysis、text-generation、summarization、sentiment-analysis”,这句话“sentiment-analysis”出现了两次,实际第一个“文本分类”对应的英文应该为“sentiment-classification”。

点赞 关注(1)
 
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表