前言在2024年11月12日凌晨,阿里云通义大模型团队正式开源通义千问代码模型全系列,共6款Qwen2.5-Coder模型,每个规模包含base和Instruct两个版本(Base模型为开发者可以自行微调的基座模型,Instruct模型是可以直接聊天的官方对齐模型)。 其中32B尺寸的旗舰代码模型在十余项基准评测中均取得开源最佳成绩,成为全球最强开源代码模型,在多项关键能力上超越闭源模型GPT-4o。 Qwen2.5-Coder的三大爆点Qwen2.5-Coder系列模型是基于Qwen2.5基础大模型进行初始化的,具备「强大」、「多样」和「实用」等优点。该系列模型通过持续的训练,结合了源代码、文本代码混合数据以及合成数据,总计使用了5.5T tokens的数据,从而在代码生成、代码推理和代码修复等核心任务上实现了显著的性能提升。 强大——追越GPT-4o!Qwen2.5-Coder-32B-Instruct模型在多个代码生成基准测试(EvalPlus、LiveCodeBench和BigCodeBench)中,超越大多数开源竞争对手,并能够与GPT-4o进行有效对比。
在编程大模型主要关注的5个方面上,它都实现了对GPT-4o的超越:
代码生成Qwen2.5-Coder-32B-Instruct在多个流行的代码生成基准上都取得了开源SOTA(state-of-the-art”(最先进)模型或方法),且在HumanEval、McEval、Spider、EvalPlus、BigCodeBench等基准上,同样都超越了闭源的GPT-4o和Claude 3.5 Sonnet。 代码修复方面Qwen2.5-Coder-32B-Instruct 可以帮助用户修复代码中的错误,让编程更加高效。Aider 是流行的代码修复的基准,Qwen2.5-Coder-32B-Instruct 达到 73.7 分,在 Aider 上的表现与 GPT-4o 相当。 代码推理在CRUXEval基准上,32B版本较7B版本有了明显提升,甚至达到了和GPT-4o、Claude 3 Opus相当的水平。 多编程语言方面Qwen2.5-Coder-32B-Instruct在 McEval 上取得了 65.9 分,支持92种编程语言,并在其中40多种语言上表现出色,在Haskell、Racket等语言上表现格外突出,打败4o等闭源模型同时取得了超高分数。 另外,Qwen2.5-Coder-32B-Instruct 的多编程语言代码修复能力同样令人惊喜,这将有助于用户理解和修改自己熟悉的编程语言,极大缓解陌生语言的学习成本。 与 McEval 类似,MdEval 是多编程语言的代码修复基准,Qwen2.5-Coder-32B-Instruct 在 MdEval 上取得了 75.2 分,在所有开源模型中排名第一。
人类偏好对齐通义团队通过构建了内部标注的代码偏好评估基准Code Arena竞技场,采用匿名PK的形式,以此来评判模型表现。最终结果显示,Qwen2.5-Coder基本追平GPT-4o!
总体而言,Qwen2.5-Coder-32B-Instruct无疑是当前开源领域的佼佼者,其性能不仅与市场上最强的闭源代码模型持平,甚至在某些方面实现了超越。 多样——6种尺寸,12版模型!其实在上个月,通义团队早就推出了 1.5B 和 7B 两种模型尺寸。这一次的新一轮开源则新增了 0.5B、3B、14B 和 32B 四个模型尺寸,每个尺寸都开源了Base 和 Instruct 模型。
其中,Base模型可供开发者微调,Instruct模型则是开箱即用的官方对齐模型,所有Qwen2.5-Coder模型在同等尺寸下均取得了模型效果最佳(SOTA)表现。
下图展示了不同尺寸 Qwen2.5-Coder 模型和其他开源模型在核心数据集上的对比:
可以看出,模型尺寸和模型效果之间存在预期中的正相关关系,并且, Qwen2.5-Coder 在所有尺寸下都取得了 SOTA 表现。 实用——适配Cursor 和 Artifacts!实用的 Coder 一直是开发者的愿景,为此,通义团队探索了 Qwen2.5-Coder 模型在代码助手Cursor和 Artifacts 场景下的实际应用。 Qwen2.5-Coder & Cursor
Qwen2.5-Coder & Artifacts 提到Artifacts,很多人可能会想到Claude Artifacts。在使用Claude时,你生成的代码、文档、SVG图像、流程图和图表会实时展示效果,实现所见即所得。类似的还有OpenAI发布的Canvas功能。这些工具为使用大模型提供了一个通用的工作空间,显著提升了聊天工具的实用性。 Qwen2.5-Coder 在 Artifacts 场景下的潜力,下面是一些具体的例子:
总结在看完整个报告之后,我的内心还是比较震撼的,国产的开源模型能够在如此短的时间内取得这样的成就,实属不易。这不仅是对国内技术研发实力的一次有力证明,也为全球开发者提供了一个强大且可靠的选项。但是到底好不好用,还是得实践见真知,下面我们就来体验一下Qwen2.5-Coder的能力。 Qwen2.5-Coder在线实测在线试用地址: 魔搭社区:https:///studios/Qwen/Qwen2.5-Coder-Artifacts Huggingface:https:///spaces/Qwen/Qwen2.5-Coder-Artifacts 进入后需登录魔搭社区账号才可使用,界面如下所示: 我们可以发现,其实对于这个Artifacts也是有进行过prompt设置的:
通过以上限制,可以更好的保证生成的代码直接进行渲染,自检运行可以确认结果的正确性 下面,我们继续体验,一般来说,预置的prompt效果都会比较好,所以我们先从官方给出的prompt看起 选择第一个prompt,点击生成 大致5s左右生成完毕,效果如下: 效果还行,基本符合prompt描述,我们继续看第二个: 个人认为,在第二个页面的生成上是比第一个还要好许多的,我们继续看第三个: 还算凑合吧,勉强算是个todo list,通过上述测试,我们至少可以看出coder写的简单前端代码都是能成功运行,我们继续加难度。 给出prompt如下:
coder生成的结果如下: 笑死,这个界面也太抽象了吧!我们继续优化prompt:
在强调注重用户体验之后,coder也是进行了定向优化,优化后界面如下: 在功能上自是一点也不含糊,加、减、乘、除、平方根、指数运算都是可以计算的: 我们继续上难度,直接让coder来开发一个类似Facebook的主页
最终结果如下,行吧,确实是可以发布动态和发表评论,但是却把点赞忽略掉了,而且比较简陋: 我们再尝试两个经典小游戏的生成测试——《贪吃蛇》和《2048》。
大家都知道,过去我在用别的编码工具时,其生成的贪吃蛇很容易碰到bug,比如食物位置生成错误,正好生成在蛇身上了,导致我老吃不到。 本来这次我还抱着多次尝试的打算,结果真没想到Qwen2.5-Coder生成的一次就能成功运行,并且逻辑完全正确! 体验结果非常好! 但是,在生成2048上却翻了车,prompt如下:
coder生成的结果如下: 我们进一步优化prompt:
尝试了一下,似乎也谈不上翻车,游戏功能是没有问题的,只是那几个方块的生成位置有问题,可能和浏览器有关系? 我们尝试一下在火狐中生成: 还真是,同样的未经优化的prompt在火狐中生成完全正常!看来真是浏览器的适配问题了,不过想来此时也可以让coder加上对于谷歌的适配,故给出prompt如下:
不错! 最后,我们来体验一下官方给出的prompt,看看能否生成所谓的“三日凌空” prompt如下:
不是哥们,我还有一个日呢? 看了一下图片来源,居然是地址挂掉了。。。好吧 双日就双日吧,我们看下效果: 很显然,由于缺少一个星体,整体效果也是出现了较大的错误,不过这里还真不好追究到底是哪边的问题哈哈 总结这里周周直接总结了一图流,通过上述测试,基本能够验证大部分demo的功能性和稳定性,总体效果而言比之前的开源模型确实好了很多。 Qwen2.5-Coder本地使用及本地部署其实在谈到本地部署之前,周周还是想聊聊如何本地使用,通过前文可知,在本地可以通过Cursor和Artifacts两个工具调取百炼平台的API来进行使用,除此,采用VScode的插件Cline也可以进行调取使用,下面,我们分别看一下使用步骤。 Cursor此处Cursor的安装就略过了,直接进入官网点击下载即可: 点击齿轮按钮,选择models,点击新增模型: 此时回到百炼平台中,搜索coder: 比如我选择通义千问2.5-coder-32B,点击查看详情,复制模型名称: 将复制后的名称填入Cursor中: 然后将其他模型调用全部关闭: 回到百炼,找到API调用示例: 复制此处到Cursor中: 点击百炼里的个人头像,选择API-Key,复制此处到Cursor中: 创建一个页面,执行 ctrl+K 快速调出代码功能: 输入prompt:
ArtifactsQwen2.5-Coder-Artifacts可以部署到本地使用,命令如下: git clone https://www.modelscope.cn/studios/Qwen/Qwen2.5-Coder-Artifacts.git
cd Qwen2.5-Coder-Artifacts
pip install -r requirements.txt
pip install gradio
python app.py
部署完成后界面与在线版本基本一致,唯一的区别就是上面多了一个可以看到当前模型的位置 在使用上也和在线版本基本一致,这里就不过多赘述了: ClineCline是一个VSCode插件,能够让用户直接在编辑器中调用大模型进行代码生成和修改,方便在开发流程中灵活应用LLM模型。 与刚才一样,填入对应的 Base URL 、 API Key 、Model ID Cline比Cursor好的地方是可以直接执行命令,只需要点点点就可以完成一个完整应用,如遇到报错它还会帮你修复。 制作完成后效果如下所示,基本功能如旋转、消除都无问题,只是方块的滑动轨迹会保留下来: 于是我们给出prompt进一步优化:
可以看到Cline直接修改了上文中自己创建的js文件,实现了对掉落轨迹消除 除了与上述常规编码工具结合使用外,还可以融入到新一代LLM“载具”中 如:结合Open Interpreter打造AI操作系统 Open InterpreterOpen Interpreter 是一个开源项目,旨在构建一个基于 LLM 的交互式解释器或操作系统。通过将 Qwen2.5-Coder 集成到这样的系统中,可以增强其理解和执行编程指令的能力,为用户提供更加流畅和高效的开发体验。用户可以通过自然语言命令来执行复杂的编程任务,而不仅仅是简单的文本生成,从而实现更高级别的自动化和智能化。 新建一个文件夹,运行cmd(注意不要用 PowerShell),克隆仓库到本地
进入python环境编辑: from interpreter import interpreter
interpreter.llm.api_base = 'YOUR_BASE_URL'
interpreter.llm.api_key = 'YOUR_API_KEY'
interpreter.llm.model = 'openai/Qwen-Coder-32B-Instruct'
安装后运行:
很多人可能好奇AI操作系统能实现什么,这里举一个简单的例子,给出prompt如下:
当Open Interpreter收到指令后,会直接进行与注册表相关的配置操作: 由此我们可以看到,通过集成如 Qwen2.5-Coder 这样的高级编程能力的模型,AI 操作系统能够直接解析用户的自然语言指令,并转换为具体的系统操作 这种能力不仅仅局限于简单的界面设置更改,还可以扩展到更多复杂的任务,例如:用户可以通过简单的自然语言描述,让AI操作系统自动下载并安装所需的软件,甚至完成一系列复杂的配置步骤;通过语音或文本命令,快速查找、分类、重命名或移动大量文件等 讲完了本地使用,我们继续看如何本地部署 根据我之前的测评内容,我本人还是更倾向于使用Ollama工具来进行一键部署的 部署步骤见我的过往文章: 基于Ollama+AnythingLLM轻松打造本地大模型知识库 目前,Ollama已经成功集成了Qwen2.5-Coder系列模型,进入官网后点击模型处复制下载命令即可:
因为考虑到是编码侧模型,所以即使本地部署之后最好的方式还是集成到代码编辑器中去使用,由于作者本人偏爱VScode,所以后续都以该编辑器为例 把ollama调成为后端服务模式,此时是已经启用了,所以提示Only one usage of each socket address ollama serve
要将本地模型结合到VScode,仍然需要使用到我上述提到的Cline工具,值得注意的是,在Cline调用本地模型时,需要填入的是其ID: 但是,此时会发现仍然存在问题,经过与群友的连夜沟通和研究,发现只有ollama中提供的hhao/qwen2.5-coder-tools 的14b和32b版本可以正常结合Cline本地使用,其他尺寸均无法本地使用 Qwen2.5-Coder微调基于魔搭平台构建LLaMA-Factory实现微调考虑到与作者的职业相关,一直需要一个擅长代码方面的大模型,Qwen2.5-Coder的开源确实给了我不少灵感,下面就以此为例来进行微调 对于初学者而言,大模型的微调是一项既复杂又具技术挑战的任务,但如今已有多种工具能够降低操作门槛。例如,Llama Factory 和阿里巴巴的魔搭社区都是广受欢迎的选择。为了使新手也能理解大模型微调的过程,本文选择了阿里巴巴的魔搭社区作为实践平台 进入魔搭社区,找到如下模型: 在模型介绍页, 选择Notebook快速开发 可以看到我还有36小时的免费额度,点击启动 启动大概需要2分钟,等GPU环境启动好以后点击'查看NoteBook'进入 点击创建一个新的 Notebook 页面 增添一个代码块,并且执行以下命令(点击左侧的运行按钮运行该代码块,下同,这一步是安装依赖库)
输入如下代码拉取 LLaMA-Factory,过程大约需要几分钟 !git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git
接下来需要去 Launcher > Terminal 执行
等以上所有步骤完成后,回到魔搭社区中,点击下载模型: 复制此处的git链接到terminal中: git clone https://www.modelscope.cn/Qwen/Qwen2.5-Coder-32B-Instruct.git
此时看到,整个模型库已经被克隆了下来,等待约10分钟,让其把主model文件下载完毕: 在左侧的文件列表,进入如下链接:Llama-Factory\examples\train_qlora 选择第一个,复制并重命名为qwen_lora_sft_shenji.yaml 打开这个文件,修改以下内容
### method
stage: sft
do_train: true
finetuning_type: lora
lora_target: all
### output
output_dir: saves/qwen-7b/lora/sft
logging_steps: 10
save_steps: 500
plot_loss: true
overwrite_output_dir: true
### eval
val_size: 0.1
per_device_eval_batch_size: 1
eval_strategy: steps
eval_steps: 500
完整文件如下:
从上面的配置文件中可以看到,本次微调的数据集是 identity,所以我们找到该文件进行内容修改即可: 比如你可以将 identity.json 中的 { {name}} 字段替换为你的名字来微调一个属于自己的大模型,但是注意,默认生成的 identity.json是不能修改的,用户需要自己写好之后再将json上传 因为我们此处的为代码审计模型,所以我依托通义千问给出了一系列关于代码设计和编程的基本问题及其答案: [
{
'instruction': 'What is the purpose of code design?',
'input': '',
'output': 'The purpose of code design is to create a blueprint for software development that ensures the program is efficient, maintainable, and scalable.'
},
{
'instruction': 'Explain the concept of 'DRY' in programming.',
'input': '',
'output': ''DRY' stands for 'Don't Repeat Yourself'. It's a principle aimed at reducing repetition of software patterns, replacing it with abstractions or using data normalization to avoid redundancy.'
},
{
'instruction': 'Describe the SOLID principles in object-oriented design.',
'input': '',
'output': 'SOLID is an acronym for five design principles intended to make software designs more understandable, flexible, and maintainable: Single Responsibility Principle (SRP), Open/Closed Principle (OCP), Liskov Substitution Principle (LSP), Interface Segregation Principle (ISP), and Dependency Inversion Principle (DIP).'
},
{
'instruction': 'What is the difference between procedural and object-oriented programming?',
'input': '',
'output': 'Procedural programming focuses on procedures or routines that perform operations on data. Object-oriented programming (OOP) emphasizes the use of objects, which encapsulate both data and functions that operate on that data, promoting modularity and reusability.'
},
{
'instruction': 'How does refactoring improve code quality?',
'input': '',
'output': 'Refactoring improves code quality by restructuring existing code without changing its external behavior. This process helps eliminate code smells, simplify complex logic, and enhance readability, making the code easier to understand and maintain.'
},
{
'instruction': 'Define what a code audit is and why it is important.',
'input': '',
'output': 'A code audit is a systematic review of source code to ensure it meets specific standards and guidelines. It is important because it helps identify potential security vulnerabilities, performance issues, and compliance problems before the software goes live.'
},
{
'instruction': 'List three common tools used for static code analysis.',
'input': '',
'output': 'Three common tools used for static code analysis are SonarQube, ESLint, and Checkmarx. These tools help developers find bugs, security flaws, and coding standard violations without executing the code.'
},
{
'instruction': 'Explain what a buffer overflow is and how it can be exploited.',
'input': '',
'output': 'A buffer overflow occurs when more data is written to a block of memory than it can hold, causing adjacent memory locations to be overwritten. Attackers can exploit this vulnerability to execute arbitrary code, often leading to unauthorized access or system compromise.'
},
{
'instruction': 'What is input validation, and how does it prevent security vulnerabilities?',
'input': '',
'output': 'Input validation is the process of ensuring that user-supplied data conforms to expected formats and constraints. By validating inputs, developers can prevent injection attacks, such as SQL injection or cross-site scripting (XSS), which rely on malformed inputs to exploit security holes.'
},
{
'instruction': 'Describe the importance of code reviews in the software development lifecycle.',
'input': '',
'output': 'Code reviews are crucial in the software development lifecycle as they help catch bugs early, improve code quality, and foster knowledge sharing among team members. They also serve as a learning opportunity for junior developers and can reduce the risk of security vulnerabilities.'
},
{
'instruction': 'What are some best practices for secure coding?',
'input': '',
'output': 'Some best practices for secure coding include: using secure coding standards, performing regular code reviews, implementing input validation, avoiding hard-coded secrets, managing dependencies securely, and continuously testing for vulnerabilities.'
},
{
'instruction': 'How can automated testing complement manual code audits?',
'input': '',
'output': 'Automated testing can complement manual code audits by providing quick feedback on the presence of known vulnerabilities and coding errors. While manual audits are thorough and can uncover deeper issues, automated tests are efficient for routine checks and regression testing.'
}
]
后续让千问继续模仿生成即可,数量可以稍微较多一些: 也可以直接使用魔搭社区大佬提供的数据集:
该数据集主要数据来源如下: 但是很遗憾的是,魔搭中的空间并不够,所以此处只能作罢了,如果服务器内存充足的话可以用此数据集: 保存刚才文件的更改,回到终端terminal 在 LLaMA-Factory 目录下,输入以下命令启动微调脚本 llamafactory-cli train examples/train_qlora/qwen_lora_sft_shenji.yaml
运行过程大概需要10分钟,看着进度条慢慢走,当看到执行结束的时候,微调过程就结束了: 参考Llama-Factory\examples\inference下提供的llama3_lora_sft.yaml,复制一份,并重命名为 qwen_lora_sft.yaml
回到刚刚结束微调的终端Terminal,运行下面的推理命令(同样在Llama-Factory目录下运行) llamafactory-cli chat examples/inference/qwen_lora_sft.yaml
稍微等待一下模型加载,然后就可以聊天了 不知道是不是我数据集太少的缘故,测试后感觉效果基本没有很大变化(没有修改自我认知,仅仅是微调的对于网络安全的知识) 基于阿里云百炼平台实现微调鉴于上面的效果并不是很好,周周苦思冥想了两天,终于想到了还有阿里云的百炼大模型平台 百炼平台中有提供模型调优模块,可以以可视化的形式快速进行训练 但是很尴尬的问题就是,这里居然还没有更新,暂时不支持微调Qwen2.5-Coder,所以索性直接尝试以普通的Qwen2.5来从头微调一个代码审计模型 先点击管理数据集: 上传数据集文件: 拿前1000条试试水,导出来大小为43MB,需要分割为3个小于20MB的才可上传: 数据集大概是这个样子: 上传成功后可以在模型数据处查看,点击发布即可发布数据集 回到模型调优,选择对应数据集 中:代码和英:代码先拉满看看,循环次数拉满,结果最后价格也给我拉满了。。。 采用百炼平台方便确实是方便,但是成本还是有点太高了,资金充足的可以考虑一下 Qwen2.5-Coder 7B本地微调根据安装官方文档说明,运行环境Python3.8+ PyTorch 2.2 或以上版本 CUDA与PyTorch版本要一一对应的,官方安装版本要求参考:https://pytorch.org/get-started/previous-versions 基本上 CUDA 11.8 + PyTorch 2.1 CUDA 12.1 + PyTorch 2.2 ,注意CUDA与PyTorch版本要对应,CUDA要与NVIDIA 驱动版本要对应 环境搭建过程可以参考如下文档: 在环境搭建好之后,我们来拉取模型,有两种拉取方式: SDK拉取 创建一个Python文件
复制如下内容至上述脚本中: #模型下载
from modelscope import snapshot_download
model_dir = snapshot_download('Qwen/Qwen2.5-Coder-7B-Instruct')
运行下载即可,下载速度较慢,需要等一会
Git下载 先务必确保已安装lfs git lfs install
git clone https://www.modelscope.cn/qwen/Qwen2.5-Coder-7B-Instruct.git
安装必备依赖
当模型下载完成之后,我们下载运行脚本 git clone https://github.com/QwenLM/Qwen2.git
cd Qwen2/examples/demo
修改cli_demo.py中的模型路径为自己的路径,如采用Git下载,可以在结束时看到路径位置:
修改完成后,执行该脚本,此时就已经实现了与Qwen2.5-Coder-7B的交互: python3 cli_demo.py
下面我们还是安装LLaMA-Factory来进行微调训练
安装完成后执行如下命令判断是否安装成功: llamafactory-cli help
执行如下命令启动:
默认为7860端口访问,相比于魔搭部署,本地部署的最大优势就是有Web-ui 然后还是涉及到数据集的问题,周周找了半天,又发现了一个新的数据集,感觉质量可能比魔搭的那个会好上一些: https://huggingface.co/datasets/clouditera/security-paper-datasets
该数据的训练开源主要包括安全书籍、安全知识库、安全论文、安全社区文章、漏洞库等 同样,全球第一个网络安全开源大模型也是依靠这个数据集训练出来的,其基座模型选择的是Baichuan-13B 回到Web-ui界面,设置为中文,模型选择Qwen2.5-Coder-7B,路径填写上文中拉取完后存在的路径 这里有三种微调方法,full全参数微调, Freeze(冻结部分参数), LoRA(Low-Rank Adaptation)、 QLoRA 等
综合速度,灵活性考虑一般都是选择 LoRA 或者 QLorRA 量化等级有8位量化( INT8)和4位量化( INT4 ),QLoRA 它允许在使用低位量化(如4位)的同时,通过 LoRA 方法进行高效的微调 提示模板是构建结构化输入的一种方式,好的提示模板可以显著提高模型的性能和适用性,为了适应不同的需求,我们要自定义模板 RoPE 插值方法,线性插值和动态 NTK 缩放,线性插值简单直观,动态 NTK 缩放更灵活,可以适应不同长度的输入 Unsloth 是一种特定的优化技术,用于减少训练过程中的计算冗余和内存占用,从而加快训练速度 训练默认使用【Supervised Fine-Tuning】,数据路径默认为data 这里的数据集需要自己进行上传,保存为datasets.json,上传至LLaMA-Factory/data目录下 进入注册路径LLaMA-Factory文件夹下data目录,编辑dataset_info.json文件,注册数据集
回到web界面就可以看到刚刚注册的数据集 然后设置训练参数,训练轮数,这里是学习的别人大佬微调LLama时的参数,如下
也不知道过了多久(数据集少,电脑配置不行,预估大概40分钟左右),反正总之是训练完了 在高级设置的检查点路径选择刚刚训练好的模型 选择到chat 最终效果如下所示 事实上,我确实也没有完全使用网络安全的数据集来进行此次训练,一个是因为训练集太参差不齐了,一个是因为效果实在不明显,没办法很好的体现出训练前后的差异 总结综合以上三种方式,我们也可以对比出优劣: 结语写了这么多了,最后该怎么结尾呢?我实在是有些犹豫,虽说是一篇实操型文章,到最后我依然还是想谈一点别的 不算很强,但我会继续用Qwen2.5-Coder-32B固然是好用的,而且代码能力确实远胜于过去的Qwen2以及Qwen2.5基座模型,从跑分上看是在代码能力上赢下了GPT-4o,但是说实话,在实际使用中却很难感受出来 在我微调完之后也是花时间做了多语言编程的代码测试,目前感受是只有前端html生成比较稳定,其他的如Next.js等还是略逊于GPT-4o、Claude 3.5 Sonnet的,关键是结合Cline插件时,可以明显感受到复杂项目的上下文理解能力弱于上述两者 写到这里可能大家感觉我准备喷它了,但是我想说的是,我仍然会一直用下去! 而用下去的原因仅仅因为两个字——开源 我个人站在开发者的角度其实是比较支持开源的,特别是某些情况下在没有网络环境时我们仍然可以利用开源的本地模型来辅助完成工作任务,这是特别关键的 同时,开源也为万千开发者创造了大量机会,意味着更多的可能性,意味着当遇到问题时,不是一个人在战斗,而是有一个庞大的社区可以依靠 并且,我个人认为开源模型没有必要强行和闭源进行比较!它们服务于不同的需求和场景,如果仅仅因为单一的基准分数去衡量两者的价值,那么就忽视了它们各自的优势和适用范围了 基准分数≠实际能力我们从小就是小镇做题家,习惯了用分数来衡量一切。无论是学校的考试,还是如今的模型评估,分数似乎总是那个最直观、最直接的标准。然而,生活与工作中的许多场景,并不像做题那样有着明确的答案和评分标准。在这些场景下,真正重要的往往是一个系统或工具能否解决实际问题,提升效率,而不是它在特定测试集上的表现如何 真正好用的模型,不仅仅是只靠官方的宣传,更多的是依赖于实际应用中的表现和用户间的口口相传 把握未来,步步为营在11月12日,根据The Information爆料,传统的大模型Scaling Law已经撞墙,OpenAI下一代旗舰Orion遭遇瓶颈 Ilya Sutskever曾在过去表示,现在重要的是「扩大正确的规模」。「2010年代是scaling的时代,现在,我们再次回到了奇迹和发现的时代。每个人都在寻找下一个奇迹。」 曾经在推动OpenAI的GPT模型时,他的准则是「越大越好」。但在SSI的最近一轮融资中,Ilya开始希望尝试一种与OpenAI不同的Scaling方法 Scaling正确的东西,比以往任何时候都更重要 以前,Ilya是暴力scaling的早期倡导者之一,那时有一种想法广泛认为,通过预训练中使用更多的数据和算力,能让AI模型的性能暴涨 目前,Ilya拒绝透露,只是表示,SSI正在研究一种全新的替代方法,来扩展预训练 在未来,随着一种Scaling Law的消退,定会有另一种定律取而代之,如果是放在阿里云,开源超越闭源,国内超越国外,也并非是不可能之事 参考文章: 魔搭社区 Qwen2.5-Coder深夜开源炸场,Prompt编程的时代来了! 量子位 最强开源CodeLLM模型深夜来袭!320亿参数,Qwen2.5-Coder新模型超越GPT-4o 量子位 Scaling Law遭遇瓶颈,OpenAI被曝押注智能体“Operator” |
|