返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

如何用泡面预算,喂饱一个手机AI

[复制链接]
链载Ai 显示全部楼层 发表于 半小时前 |阅读模式 打印 上一主题 下一主题

ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: 1.6em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">这是 18 岁大一学生郑宇皓,在假期完成的一次开发实践。全程没有租用 GPU或云服务,仅靠本地环境搭建,就完成了14B大模型的合并、量化与部署工作。

ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: 1.6em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">目前就读于广州科技职业技术大学的他,所学专业是计算机科学,课程内容主要围绕传统编程开发、软件工程和系统运维方向展开。尽管学校暂未面向大一学生开设与模型开发相关的课程,但这并没有影响他对人工智能领域的热情。

ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: 1.6em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">最开始接触大语言模型是出于好奇,觉得它不仅能理解复杂指令,还能进行角色扮演。然而,由于电脑并不便于随身携带,只有能够在手机上运行的大模型,才能真正实现“随时随地,想用就用”的便捷体验。

ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: 1.6em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">在这样的需求驱动下,14B 参数规模的模型成为了一个理想选择:经过 4bit 量化的版本可以在近两年的旗舰手机上流畅运行,同时具备不错的性能表现。于是他开始尝试在 Hugging Face 上下载各类 14B 微调模型。但在使用过程中,他发现一个普遍存在的问题:很多模型要么推理能力强但指令遵循能力差,要么角色扮演表现出色,却在逻辑推理方面明显不足。

ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: 1.6em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">于是他就萌生了一个想法:能不能做一个在手机上运行的高性能大模型?

ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: 1.6em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">由于 GPU 资源匮乏,蒸馏和微调这两条路对郑宇皓来说并不现实。于是他把目光投向了“模型合并(Model Merging)”。在他看来,模型合并最大的优势就是“便宜”。不需要 GPU、不需要租用算力资源,仅靠 CPU 就能完成整个流程。他的电脑配置仅为8G 显存 + 32G 内存,却可以一次性合并多达五个 14B 模型,完全在本地环境中完成整个项目。

ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: 1.6em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">“就拿这款在 Hugging Face 上排第73名的模型来说,从头到尾我没有用过任何线上资源,完全是本地完成的。”

ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: 1.6em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">另一个让他坚定选择这条路的原因是模型合并的快速迭代能力。合并 5 个 14B 模型只需大约 5 分钟,量化过程也只要 3 分钟左右。不到 10 分钟就能完成一次完整的制作流程,遇到问题后可以立即调整配置,继续下一轮实验。这种快速迭代的特性,也是他能独自完成开发的重要原因。

ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: 1.6em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">而谈到为什么选择使用 Qwen2.5-14B的衍生模型进行合并,他表示:在14B的规模下,Qwen的中文知识最丰富,微调模型的数量也最多,在我开始合并前,就已经有三百多款基于Qwen2.5-14B开发的微调模型了。这使得我可以尽情挑选,并选出性能最优异的几款指令模型和推理模型。这为后续的模型合并打下了坚实的基础。

ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: 1.6em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">首次制作合并模型时,郑宇皓在过程中遇到了配置文件错误、模型加载失败等问题。他通常先查阅文档,看不懂时就借助Qwen Chat 辅助排查。从下载到部署,再到制作出第一款合并模型。整个流程仅用了不到两天时间。

经过几个星期的迭代,他推出了一款对他而言具有里程碑意义的合并模型:ZYH-LLM-Qwen2.5-14B-V3。

在 IFEval(指令)单项上排名第 9,也 IFEval 前十中唯一一个 14B 模型。

这款模型虽然指令遵循十分亮眼,但在遇到推理问题时却表现欠佳。如何做到在提升模型推理能力的同时,不降低指令能力呢?

带着这样的问题,他开始了ZYH-LLM-Qwen2.5-14B-V4模型的制作!

虽然直接合并纯推理模型,确实可以提高指令模型的推理能力,但这也会导致指令能力的严重下滑。这种“一边倒”的结果并不符合他的目标,于是他采取了“比例控制 + 两次合并”的策略。

经过多轮实验,他终于找到了两次合并的最优比例。首先,按1:1的比例混合纯指令模型和纯推理模型,这是第一次合并。接着,将以这种比例得到的三款混合模型与一款纯指令模型进行第二次合并,使得最终模型中混合模型与纯指令模型的比例为3:1。这样既保留了一定的推理能力,指令遵循能力也不会明显下降。

在合并时,通过加入Qwen2.5-14B-Inctruct-1M和替换分词器,模型获得了处理超长文本(1M context)的能力。对细节的把控更加到位,从而进一步提升了在指令方面的表现。


这款模型最终取得了不错的成绩:在 Hugging Face 开源模型排行榜上排在第 73 位(Qwen2.5-14B-instruct排在第173位) 。仅使用本地资源,以几乎零成本,实现了模型性能的二次飞跃。

  • MuSR(推理)得分15.66,比 Qwen2.5-32B-instruct 高出 2.16 分,在 14B 模型中名列前茅;

  • IFEval(指令)得分达83.65,指令能力超越Qwen2.5-32B-instruct;

  • 4位量化版本手机也能运行 ,骁龙 9300+ 芯片可实现每秒 3 token 以上的生成速度;

  • 支持1M长上下文 ,在处理长文本和多轮对话时表现更出色。

面对 AI 技术的发展,他也曾焦虑过:“我担心毕业时,由于 AI编程技术的发展,程序员会没有用武之地。”但宇皓在模型的开发过程中也发现:使用AI虽然可以节约很多查询资料和了解入门概念的时间,但是只能给出一个大致的方向。在实际操作过程中,仍然会遇到各种意想不到的问题。这时就需要人通过实践,给予AI反馈,解答之后,开启新一轮实践,如此循环往复。只有这样,才能更高效地解决问题,甚至完成一些看似不可能的工作。

他也希望通过自己的事例告诉大家:大模型开发并没有想象中的那么遥不可及,在开源技术盛行的当下,只要你愿意动手,就能创造无限的可能。

这不是一件遥不可及的事,而是一个普通学生也可以靠着兴趣、坚持和一点点好奇心完成的探索。即使没有高端的设备,没有学过高深的算法,也可以通过一步步试、一次次调,基于现有的开源模型和模型合并技术,完成对大模型的二次衍生开发。

也许这只是一个开始,但正是无数个这样的“开始”,正在悄悄塑造 AI 的未来。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

链载AI是专业的生成式人工智能教程平台。提供Stable Diffusion、Midjourney AI绘画教程,Suno AI音乐生成指南,以及Runway、Pika等AI视频制作与动画生成实战案例。从提示词编写到参数调整,手把手助您从入门到精通。
  • 官方手机版

  • 微信公众号

  • 商务合作

  • Powered by Discuz! X3.5 | Copyright © 2025-2025. | 链载Ai
  • 桂ICP备2024021734号 | 营业执照 | |广西笔趣文化传媒有限公司|| QQ