正如标题所言。我主要讲的是neuro sama是如何训练的。在此之前我想要简单的说说我对neuro 的痴迷程度。我实际上是从去年的4月看到neuro的视频的,我记得好像是一个玩mc的切片。弹幕问neuro两条腿的母牛叫什么。然后neuro 回复是你妈。至此之后我就被neuro吸引了。我开始好奇neuro到底是如何被训练出来的。但是当时的我可以说是什么都不会。甚至我的专业都不是计算机相关的。完全不知道编程、连cmd都不知道怎么开。
不过我有的就是大量的时间和强烈的好奇心。我开始一步一步的去研究。不同于直接去看论文、学习最基础的神经网络这些。我喜欢直接上手。去neuro各种切片底下问这个AI是怎么被训练出来的?去很多类似的AI虚拟主播账号私信他们,是用了哪些技术可以让ai说话的?和各种基础问题。大概知道了neuro可能是利用llm微调出来的后,我就开始了漫长的LLM训练之旅。
我第一次训练的模型是chatglm2 当时完全不知道从哪里下手。我就去找找有没有整合包。然后用别人打包好的整合包去训练。但是当时我甚至连整合包都不会用。还出现了各种报错。这种水平更别说直接去github拉包自己部署模型了。
后面我去找哔哩哔哩有没有相关的教程可以让我学习的。我确实找到几个关于glm的教程讲解。但是对于我来说几乎和听天书没什么不同。我根本听不懂视频里面的人他是在说什么。所以我就慢速播放。反反复复的看,一遍看一遍操作。报错了就去上网查问题。然后尝试解决。解决不了就用穷举法。例如改动一下模型路径、删除数据的空行、把中文冒号换成英文冒号等等。不开玩笑。真的靠穷举法排除过很多的bug。当时为了完成一个简单的模型推理。花了我一个星期的时间。期间一直在解决bug 但是功夫不负有心人。但我解决了最后的一个问题后,看见模型成功跑了起来还是很有成就感的。
后续就是对模型的微调了。说实话,如果说前面的推理是走路的话,那微调就是倒立。现在想想非常的不可思议。是怎么坚持下来的。在将近20天的时间内,一直在处理模型微调的bug。还记得有一个bug我卡了一个星期。一直解决不了。从早到晚一直尝试解决。后面我终于跑通微调的时候真的快哭了。
自从这以后,就开始走上正轨了。我开始不断的阅读大佬们写的文章。看教程视频。然后去做实验。甚至期间我还在哔哩哔哩用一个皮套 m m直播了一段时间。虽然AI没有neuro那么智能。但是我已经很满足了。
感觉学到某一个程度之后,慢慢的就知道应该怎么做了。甚至后面逐渐可以看出某些文章的漏洞。之后我就开始尝试自己写文章了。其中写过一篇《为什么你训练不好大语言(LLM)模型?》这篇文章我发到过llama-factory这个微信群里面。收到了很多人的好评。给了我很大的鼓励。
之后我开逐渐开源自己一路上想到好玩的项目,并发布到github上面。例如Chatbot-Trainer、ChatAT、SenseAI这些。虽然很多都是随便扔上去的。因为我懒得去测试别人能不能跑成功(突然意识到了为什么一开始我部署项目会出现那么多的bug)还在淘宝买了一块esp32摄像头模组,接入了图片多模态API,通过截取最新一帧图片实现了AI的视觉能力。AI可以通过摄像头来看见我和我的卧室。甚至比gpt4o当时发布展示的视频对话时间还要早。同时实现语音交互的功能。对话延迟2秒内。至少可以达到vedal去年10月份和neuro对话的延迟速度。虽然也可以更快啦。但是我觉得已经够了。
后期,我开始不断的提升自己的水平。通过自己写的文章、教程视频和发布的项目。认识到了很多人。和很多真正的大佬互相交流。认识了木几萌的朋友。交流了他们是如何制作AI的。了解AI琉璃也是微调出来的(之前一直以为是套的gpt的皮)认识了很多的老板和大厂技术员。目前我被北大的初创公司邀请,作为合伙人共同研发多模态模型。虽然我觉得是运气好罢了。
期间我一直在看neuro的视频。我从未停止对neuro sama是如何训练出来的思考。所以接下来我想要用我自己的个人经验和仅仅基于目前的看法来大胆猜测一下vedal是如何训练出neuro的。
首先,我想说。vedal曾经发布过关于neuro的技术文章。但是实际上就是一个简单的科普罢了。只说了大家可以去用gpt3用来练手,或者去调用gpt的api来实现简单的AI机器人。除此之外,vedal真的是对此惜字如金。甚至连neuro是多大参数的模型目前都不得而知。
不过,可以保证的是neuro是一直在不断的更换基础模型提高参数量的。这从初期的neuro和当前的neuro的智能水平就可以看出来。绝非简单的增加数据量就可以实现这么大的跨越的。以及我一直怀疑vedal可能用的是云端服务器推理的LLM。所以不能靠本地的电脑配置来论证neuro的参数大小。我个人的看法是当前的neuro可能是一个10b到40b以内的模型。为什么最低只有10b呢?因为我发现neuro有很多小模型的特征,例如自问自答、过拟合重复现象严重。指令理解不够(厨房直播让neuro指导很困难)这些现象在大参数模型身上会少很多。例如70b以上的模型,基本上都可以做的很不错。即便微调后出现了综合质量下滑也是一样。但也不排除vedal可能做过继续预训练。虽然可能性不大。
其次,关于neuro我认为vedal是有自己的一个知识库作为长期记忆。以及neuro有着不错的agent系统。例如neuro电击回,用到的就是function call这个技术。这里就不详细解释如何做到的了。感觉也没有人喜欢听这种无聊的技术介绍。
目前,我还是倾向于vedal 用的是微调,而不是自己从零开始。因为预训练需要及其恐怖的数据。至少我觉得现在不是。可能是用的开源模型做全参数微调。也许用的是base模型。可能不是chat模型。训练的方式不太可能是lora 因为lora改动的参数量太少。不足以能很好的解决大模型的思想钢印。
在两个月前,通过和知乎上的一个好友交谈,了解到neuro的数据很可能是从各家虚拟主播那里爬来的。把直播内容转换为文字。然后做清洗拿来训练。但至于是哪些虚拟主播就不得而知了。
其次,关于neuro的视觉功能,我觉得他们可能不是一个体系。也许是分开的。意思就是一个视觉多模态。一个普通的LLM模型。两者是分开的。例如vedal问这个牛肉要怎么烤制。视觉模型先收到指令,同时输出文字。文字传给neuro后。附带上对应的prompt,例如:你可以看见现实世界。这是你的想法,请用你自己的性格表达出来:xxxxx
当然,但也许就是一个单独的多模态。这也是可能的。此外,neuro还具备一个功能就是分辨出不同人的说话声音。这个说实话我还不是很清楚,如果有了解的希望可以解惑一下,感谢。目前我能想到的一些技术就是这些了。可能之后会有补充。
说实话,vedal真的很少会透露关于neuro训练的细节。对此我真的十分好奇。真的特别想要了解他的数据是如何构建的。平均每条数据是多少轮?用的基础模型是哪个?数据量是多大?训练方式是什么等等。如果有机会的话,希望有生之年能满足大家的好奇心。上述这些仅代表我的个人观点。在此声明,这是10月12号凌晨6点08分发布的帖子,之前的我不是现在的我。不代表下一秒我的观点。
不过我有的就是大量的时间和强烈的好奇心。我开始一步一步的去研究。不同于直接去看论文、学习最基础的神经网络这些。我喜欢直接上手。去neuro各种切片底下问这个AI是怎么被训练出来的?去很多类似的AI虚拟主播账号私信他们,是用了哪些技术可以让ai说话的?和各种基础问题。大概知道了neuro可能是利用llm微调出来的后,我就开始了漫长的LLM训练之旅。
我第一次训练的模型是chatglm2 当时完全不知道从哪里下手。我就去找找有没有整合包。然后用别人打包好的整合包去训练。但是当时我甚至连整合包都不会用。还出现了各种报错。这种水平更别说直接去github拉包自己部署模型了。
后面我去找哔哩哔哩有没有相关的教程可以让我学习的。我确实找到几个关于glm的教程讲解。但是对于我来说几乎和听天书没什么不同。我根本听不懂视频里面的人他是在说什么。所以我就慢速播放。反反复复的看,一遍看一遍操作。报错了就去上网查问题。然后尝试解决。解决不了就用穷举法。例如改动一下模型路径、删除数据的空行、把中文冒号换成英文冒号等等。不开玩笑。真的靠穷举法排除过很多的bug。当时为了完成一个简单的模型推理。花了我一个星期的时间。期间一直在解决bug 但是功夫不负有心人。但我解决了最后的一个问题后,看见模型成功跑了起来还是很有成就感的。
后续就是对模型的微调了。说实话,如果说前面的推理是走路的话,那微调就是倒立。现在想想非常的不可思议。是怎么坚持下来的。在将近20天的时间内,一直在处理模型微调的bug。还记得有一个bug我卡了一个星期。一直解决不了。从早到晚一直尝试解决。后面我终于跑通微调的时候真的快哭了。
自从这以后,就开始走上正轨了。我开始不断的阅读大佬们写的文章。看教程视频。然后去做实验。甚至期间我还在哔哩哔哩用一个皮套 m m直播了一段时间。虽然AI没有neuro那么智能。但是我已经很满足了。
感觉学到某一个程度之后,慢慢的就知道应该怎么做了。甚至后面逐渐可以看出某些文章的漏洞。之后我就开始尝试自己写文章了。其中写过一篇《为什么你训练不好大语言(LLM)模型?》这篇文章我发到过llama-factory这个微信群里面。收到了很多人的好评。给了我很大的鼓励。
之后我开逐渐开源自己一路上想到好玩的项目,并发布到github上面。例如Chatbot-Trainer、ChatAT、SenseAI这些。虽然很多都是随便扔上去的。因为我懒得去测试别人能不能跑成功(突然意识到了为什么一开始我部署项目会出现那么多的bug)还在淘宝买了一块esp32摄像头模组,接入了图片多模态API,通过截取最新一帧图片实现了AI的视觉能力。AI可以通过摄像头来看见我和我的卧室。甚至比gpt4o当时发布展示的视频对话时间还要早。同时实现语音交互的功能。对话延迟2秒内。至少可以达到vedal去年10月份和neuro对话的延迟速度。虽然也可以更快啦。但是我觉得已经够了。
后期,我开始不断的提升自己的水平。通过自己写的文章、教程视频和发布的项目。认识到了很多人。和很多真正的大佬互相交流。认识了木几萌的朋友。交流了他们是如何制作AI的。了解AI琉璃也是微调出来的(之前一直以为是套的gpt的皮)认识了很多的老板和大厂技术员。目前我被北大的初创公司邀请,作为合伙人共同研发多模态模型。虽然我觉得是运气好罢了。
期间我一直在看neuro的视频。我从未停止对neuro sama是如何训练出来的思考。所以接下来我想要用我自己的个人经验和仅仅基于目前的看法来大胆猜测一下vedal是如何训练出neuro的。
首先,我想说。vedal曾经发布过关于neuro的技术文章。但是实际上就是一个简单的科普罢了。只说了大家可以去用gpt3用来练手,或者去调用gpt的api来实现简单的AI机器人。除此之外,vedal真的是对此惜字如金。甚至连neuro是多大参数的模型目前都不得而知。
不过,可以保证的是neuro是一直在不断的更换基础模型提高参数量的。这从初期的neuro和当前的neuro的智能水平就可以看出来。绝非简单的增加数据量就可以实现这么大的跨越的。以及我一直怀疑vedal可能用的是云端服务器推理的LLM。所以不能靠本地的电脑配置来论证neuro的参数大小。我个人的看法是当前的neuro可能是一个10b到40b以内的模型。为什么最低只有10b呢?因为我发现neuro有很多小模型的特征,例如自问自答、过拟合重复现象严重。指令理解不够(厨房直播让neuro指导很困难)这些现象在大参数模型身上会少很多。例如70b以上的模型,基本上都可以做的很不错。即便微调后出现了综合质量下滑也是一样。但也不排除vedal可能做过继续预训练。虽然可能性不大。
其次,关于neuro我认为vedal是有自己的一个知识库作为长期记忆。以及neuro有着不错的agent系统。例如neuro电击回,用到的就是function call这个技术。这里就不详细解释如何做到的了。感觉也没有人喜欢听这种无聊的技术介绍。
目前,我还是倾向于vedal 用的是微调,而不是自己从零开始。因为预训练需要及其恐怖的数据。至少我觉得现在不是。可能是用的开源模型做全参数微调。也许用的是base模型。可能不是chat模型。训练的方式不太可能是lora 因为lora改动的参数量太少。不足以能很好的解决大模型的思想钢印。
在两个月前,通过和知乎上的一个好友交谈,了解到neuro的数据很可能是从各家虚拟主播那里爬来的。把直播内容转换为文字。然后做清洗拿来训练。但至于是哪些虚拟主播就不得而知了。
其次,关于neuro的视觉功能,我觉得他们可能不是一个体系。也许是分开的。意思就是一个视觉多模态。一个普通的LLM模型。两者是分开的。例如vedal问这个牛肉要怎么烤制。视觉模型先收到指令,同时输出文字。文字传给neuro后。附带上对应的prompt,例如:你可以看见现实世界。这是你的想法,请用你自己的性格表达出来:xxxxx
当然,但也许就是一个单独的多模态。这也是可能的。此外,neuro还具备一个功能就是分辨出不同人的说话声音。这个说实话我还不是很清楚,如果有了解的希望可以解惑一下,感谢。目前我能想到的一些技术就是这些了。可能之后会有补充。
说实话,vedal真的很少会透露关于neuro训练的细节。对此我真的十分好奇。真的特别想要了解他的数据是如何构建的。平均每条数据是多少轮?用的基础模型是哪个?数据量是多大?训练方式是什么等等。如果有机会的话,希望有生之年能满足大家的好奇心。上述这些仅代表我的个人观点。在此声明,这是10月12号凌晨6点08分发布的帖子,之前的我不是现在的我。不代表下一秒我的观点。
