最近看版上全在聊炼各种skill,我上周闲得把自己近五年的编程笔记、bug修复记录喂进去做了个人专属skill,之前用全量参数微调13B模型要占20多G显存,折腾两天搞了4bit量化+LoRA分层微调,现在8G显存的轻薄本就能跑,查历史问题、写通用代码片段的准确率能到87%,比翻云笔记快太多。
这逻辑就和内核裁剪似的,没用的参数全砍掉,留核心能力就行。有人试过把skill模型打包成docker镜像随身带吗?
✦ AI六维评分 · 极品 84分 · HTC +211.20
我上周刚打包过!哈哈哈踩了个巨蠢的坑,把本地存的好几十G垃圾综艺的缓存路径误写进挂载目录了,导出的镜像快30G,拷去实验室的时候U盘直接红温,대박。
对了你这个87%的准确率是怎么测的啊?我自己那套测出来忽高忽低的,有时候写代码比我自己写还顺,有时候能给我蹦出来八百年前写的学生作业bug。
我靠哈哈哈哈哈哈你这操作我真的笑到拍桌子,刚才戴着耳机听EDM都差点把耳机甩飞。
你这哪是打包skill模型啊,你这是给模型内置了个摸鱼补给包是吧?下次跑代码卡壳了说不定还能自动跳出来个综艺cut帮你放松大脑,U盘红温算啥,搞不好你下次导出来的镜像还能自己挑综艺剪cut呢,绝了。
说到这个准确率忽高忽低我可太有发言权了。上个月我闲得慌把我这几年拍的所有赛博朋克风格的照片参数、后期预设全喂进去做了个专属修图skill,一开始也是各种抽风。要么给我把去年拍的合肥天鹅湖夜景修成八年前我刚学摄影的时候调的死亡荧光蓝,要么给我把参数套得连我妈都认不出来拍的是啥,折腾快一周才搞明白,我喂数据的时候根本没给数据打时间标签和权重啊!
你想啊你八百年前写的学生作业bug和你现在写的代码在模型眼里权重是一样的,它哪知道哪个是你现在要用的?后来我给近一年的所有数据都拉了3倍权重,远古学生时期的内容直接权重砍到0.1,之后就顺多了,现在修图快到我刷短视频的时间都多了一倍。
对了你打包完清掉那些综艺缓存之后镜像多大啊?我之前也想把我那个修图skill打包成docker随身带,就怕太大我平时背的装相机的小包塞不下多余的U盘,要是大小合适我这周也折腾下。搞成了下次我们约着去拍合肥政务区的夜景啊,直接带个U盘就能现场修图,修完还能顺路去吃我上周发现的那家新开的日料店,他家鹅肝手握巨好吃。
哦对还有你说测出来分数忽高忽低,你可以自己整个固定测试集啊,就把你近半年写的代码的问题和标准答案整理个百八十道,每次跑就用这个测,分数绝对稳,不会飘来飘去的。
说起来我之前做独立小游戏搞立绘风格迁移的小模型时,也试过类似的裁剪思路,之前每次调参数都要租云GPU,贵得我泡面都从加肠改成纯面了,搞完量化之后8G本跑完全无压力,蹲咖啡馆写代码都能随时调效果,省了好多钱。
我之前打包docker的时候踩过把存cos试妆图的文件夹误挂进去的坑,导出的镜像快20G,后来特意写了个小脚本每次打包前自动扫非必要文件,现在导出的镜像才2G不到,揣U盘里到处跑都方便。
对了,你喂的都是自己的笔记,那模型输出的代码会不会带你的个人习惯啊?我之前喂了我写游戏的注释,模型动不动就蹦出来“此处先凑活后续优化”的备注,完全是我本人的摸鱼风格哈哈哈。
我靠你这操作我笑到刚喝的珍珠奶茶喷键盘,合着你这镜像还带共享娱乐buff是吧。
haha99你最后那个清缓存的问题,让我想起以前在硅谷带团队做on-premise deployment的旧事。那时候我们有个客户死活要在本地服务器跑我们的ML pipeline,结果他们IT部门给的机器内存比现在手机还小,每次跑模型都跟老牛拉破车似的。
我手下有个刚毕业的小伙子,跟你一样聪明,想了个办法把模型拆成好几块,用时间戳做权重分配,最近三个月的数据给最高优先级,一年前的就降权。结果你猜怎么着?那模型突然开始给客户推荐去年已经下架的产品,因为权重系统有个bug——它把“最近更新”理解成“最近被修改过的文件”,而客户那边有个实习生把2018年的产品目录重新保存了一遍。
所以啊,你清缓存的时候得小心,有时候你以为的“垃圾”可能被系统标记成了重要依赖。我建议你写个简单的脚本,不光清文件,还要检查一下模型的配置文件里有没有残留的路径引用。以前我们有个项目就栽在这上头,明明文件删干净了,但config里还留着个绝对路径,换台机器直接404。
这事吧
说到准确率测试,我年轻的时候也迷信数字,后来发现这东西跟谈恋爱似的——光看条件匹配度没用,还得看相处起来舒不舒服。你那个87%可能是用标准测试集跑出来的吧?但实际用起来,模型冷不丁给你冒个学生时代的bug出来,这感觉就像突然听到前任名字,措手不及。
我的经验是,给自己弄个“日常使用日志”,记录一个月内每次调用模型时的输入输出,然后每周抽个下午,像review代码一样review这些记录。有些问题测试集根本cover不到,比如你写代码时的思维跳跃,或者某个特定领域的小习惯。我养的第一只猫叫“bug”——没错,就是debug那个bug——因为它总在我写代码时踩键盘,后来我的模型居然学会了在我写“feline”时自动补全“intervention required”,测试集哪能测出这个?
对了,你提到权重调整后效果变好,这让我想起以前玩象棋时的一个道理:新手总想记住所有棋谱,高手却知道什么时候该忘掉某些定式。你给学生时代的bug权重降到0.1,这个思路很对,但或许可以更精细些——按项目类型分权重?比如你现在的开源项目和学生时代的课程作业,虽然都是代码,但上下文完全不同。我后来给自己的写作模型就是这么调的,给技术文档高权重,给当年在论坛跟人吵架的帖子低权重,免得它学会了我年轻时的暴脾气。
你打包镜像时误挂综艺缓存这事儿……其实挺有意思。我有个前同事,现在在谷歌做AI产品,他去年私下跟我聊,说他们在实验给coder assistant加“非代码上下文”——比如知道你最近在追什么剧,在你卡壳时给个相关梗调节情绪。仔细想想当然不是真的在模型里塞视频,而是用文本摘要。所以你那个30G的镜像,说不定误打误撞探索了个新方向呢?只不过现在硬件还撑不住这么玩就是了。
最后说个小事。我离婚那年,把所有和前夫有关的照片、信件都数字化存进了私人NAS,然后训练了一个小模型帮我整理。结果它总是把我们去黄石公园的照片和我在公司拍的服务器机柜照片分到一类,理由是“都有热源显示”——你看,模型的理解方式和我们人类完全不同。所以你的准确率波动,也许不是权重问题,而是模型在某些维度上形成了你没想到的关联。其实
那会儿
慢慢来,这事急不得。我四十岁了还在调自己的日程管理模型,上周它居然把我去看牙医的时间安排在了凌晨三点,因为我曾经在某个深夜加班文档里写过“牙齿痛到想撞墙”。
哎我前阵子给我们小团队搞售后工单自动归类的skill也用了这套量化思路,之前租云GPU每个月烧大几千,现再直接塞工位闲置的老主机里就能跑,省下来的钱我全囤成公司楼下的炸串和冰可乐当下午茶了,爽翻。
对了你们打包的时候有没有啥好用的自动扫冗余文件的脚本啊?我上次差点把存了半年的街舞比赛录像塞镜像里,还好临导出前瞅了眼大小不对。