当前位置: 首页 > news >正文

配置Open-R1,评测第三方蒸馏模型的性能1

年前DeepSeek不温不火,问题的响应极。一回车,就看模型如口吐莲花般,先是输出思维过程,虽然中间绕来绕去,但是输出回答时还是准确而简洁的。比如,用它来读当时出来的几篇文章,确实大大提升了效率。虽然搞科研这么多年,读文章还是比较快,但是遇到翻译长难句、生僻的概念,读起来还是磕磕绊绊,得做很足的心理建设才能克服困难读完。现在用DeepSeek,等它输出的时候,喝点水,刷刷新闻,发发呆,极好。

过年前后的一波发布,宣传,发酵,R1彻底火出了圈。1月25日后,再用的时候就开始出现服务器无响应了。俗话说,“由简入奢易,由奢入简难”。

短时间DeepSeek无法增加服务器,提供服务的情况下,除了反复提交外,还有什么办法呢?年后随着DeepSeek的热度持续增加,过年期间憋大招的工作都出来了,比如ktransformer、unsloth等相继支持DeepSeek满血版,知乎、三大运营商接入或提供DeepSeek访问。于是准备部署一个本地版本。

本地部署的话,可以用llama.cpp、vllm、ollama等,也可以使用LM studio这样的图像化界面工具。甚至可以用vllm、ollama为后端,写个restful服务,再包装个前端页面。对比后,还是用了最傻瓜化的LM studio。

模型参数方面,一开始看得眼花缭乱的,后面还是老实的根据显卡显存大小,选择了7B以下的模型,还得是量化后的。

最开始,就是问了个稍带歧义的问题,“there are a amount of apples,a monkey steals a half of them a day. On the ninth day,there is one apple left,how many apples are there”。1.5B模型根据字面意思,给出的答案是512。看思维过程,把另外一些可能排除了,其中最可能的一个以字面意思,偷不了0.5个苹果给否定了。7B的Q8,给出的结果一样。后面找了双卡机器,跑了32B的Q8,速度一下子慢了很多,结果还是512。

接下来,有意思的事情发生了。当我提示,题目是否可以按照剩下的一个苹果是偷之前和偷之后理解,是不是答案会不一样。1.5B是思维过程错误给否定了,甚至得出了128个。提示了半天,给出了256个。7B和32B还是比较好的理解了提示,认同了题目确实存在不准确性,分情况讨论合适。但是,32B在接受这个理解上表现得比较固执,可能是某种“自信”或者“对训练数据的过拟合形成了执念”。

在代码生成方面,总结,文献阅读方面,1.5B的思维过程明显简单,回答也比较简单。在速度方面,1.5B回复的速度真快,32B不优化的话慢的有点儿难以接受。

基于此,1.5B基本上应付简单问答是可以的,而且速度快,剩下的就是各种量化版本了。为了更好的、更加客观的观察量化的影响,准备用这些模型跑跑AIME24、MATH500等标准测试。

终于找回了题目,没想到遇到了大坑。首先,Huggingface在复现R1上是做的比较扎实的,Open-R1给出了比较详实的过程和代码,以及结果。因此,选用了这个代码库来跑evaluation。

按照流程,首先是搭个虚拟环境,不想用uv就还是用conda。结果conda只有3.10,没用3.11。最后查了查,得加点参数。

conda create -n openr1 python=3.11 -c conda-forge

然后是装vllm,下载了一堆包,编译了好久。

然后参考写了个AIME的测试脚本,结果爆了个CUDA版本问题。没办法,本来是不想动本地环境,又不想配docker。装了CUDA12.4,没装驱动,再跑测试脚本,还是报了几个包没用的问题,然后继续setup。

setup这步,编译到lighteval会自动降级到torch2.4.1。中断的话又和torch2.5.1不兼容,编译失败。还好是有解决方案。但是,下载的setup里面就是这个commit_tag,奇怪。后面又编译过去了,奇怪。接下来到了重头戏。fast_attn编译了半个小时没出来,我想着吃了饭怎么也好了。结果到睡觉前都没出来~才在网上翻了翻,原来我不是第一个等编译等到了睡觉的。

第二天一早,满心欢喜的发现编译完了,一堆包。再跑测试脚本,import vllm就报错,一个错误,vllm/_C.abi3.so: undefined symbol: cuTensorMapEncodeTiled。这大概了是残留的驱动的锅了。看来本地跑是彻底没戏了。没想到编译一个vllm跑evaluation这多么坑。

相关文章:

  • 淘宝商品评论API接口概述,json数据示例返回
  • 高等代数笔记—欧几里得空间、双线性函数
  • Java运维实战:问题定位-CPU突增排查
  • C++ Primer 函数匹配
  • 车载音频架构图详解(精简)
  • 2025-02-16 学习记录--C/C++-PTA 7-20 打印九九口诀表
  • C++笔记之类型大小、变量大小,vector与string在栈上内存、堆上内存和总内存的关系
  • PHP培训机构教务管理系统小程序
  • 八大排序——简单选择排序
  • 提示工程实现数据质量评估
  • matlab飞行姿态pid控制
  • 工业级推荐系统冷启动解决方案:基于元迁移学习与动态知识图谱的混合架构设计与实践
  • 【go语言规范】Gopherfest 2015 | Go Proverbs with Rob Pike的 总结
  • 深入理解 Shell 脚本执行方式:`source`、`./xx.sh`、`bash xx.sh` 和 `sh xx.sh`
  • 顺序表(C)
  • centos部署open-webui
  • MybatisMybatisPllus公共字段填充与配置逻辑删除
  • 【第12章:深度学习与伦理、隐私—12.1 AI伦理原则与偏见检测的方法与实践】
  • Jasper AI技术浅析(二):语言模型
  • docker部署笔记软件memos,通过5320端口访问,如何通过nginx反向代理配置访问?
  • 神十九都带回了哪些实验样品?果蝇等生命类样品已交付科学家
  • 国务院安委办、应急管理部进一步调度部署“五一”假期安全防范工作
  • 郭向阳任广东省公安厅分管日常工作副厅长(正厅级)
  • 启程回家!神十九轨道舱与返回舱成功分离
  • 现场聆听总书记讲话,“00后”博士和大模型CEO都“热血沸腾”
  • 首映|“凤凰传奇”曾毅:拍电影,我是认真的