Edge 进展: 密斯特拉基本就位了. 从玻璃反光里能看到巨械的另外一半. 有一种科幻片里能见到的感觉. 灯控软件还没弄. 他们说兼容性还没做. 今天早上看到了qwen2发布的消息, 但是又要重新装配环境, 以及顺便做完第一轮数据集的调整. 可能开始训练还需要一段时间. 最近过得心力交瘁的.
Edge 进展: 在三个轮次的实证中, 我们发现agent模型的泛化能力其实很弱. 也不是不能用, 但是我们需要对驱动做更多的改动以过滤和格式化agent的输出了. 相关的代码已经在设计. 同时, 基于qwen2和改造后的数据集的核心模型训练也已经开始, 我们预计能够在3日左右查证成果.
Edge 我抽空将工程进度上传到了github: https://github.com/Mon1-innovation/MAICA 这也会是我们将来的开源项目地址. 我会比较频繁地向在线仓库更新我的进展. 如果你有兴趣而且看得懂, 不妨点个star. 请注意, 目前上传的工程文件尚不适合运行, 仅供研究参考. 我们仍然在推进之中. 目前项目的开源部分仅包含驱动, 不含模型与数据集. 我们预计会在maica经过实战考验之后发布最佳实践指南, 核心数据集和开源版模型.
Edge 我设计了一套过滤系统, 协助agent模型提取信息. 基本上就是将mas存档每一个有意义的项提取出来, 然后手工设计触发器和提示词. 我的依据是, 目前为止agent模型的泛化能力表现不如预期. 我们应该给agent模型尽可能大的容错性, 确保其即使无法输出正确引导也要让核心模型获得必要信息. 虽然比起一项技术来说更像是水磨工夫, 但是我将这套系统称为MFocus. maica使用多个模型组合完成任务的核心思路, 就是通过辅助模型和驱动, 使获取的信息可读化, 友好化, 让核心模型专注于自己的任务, 即角色扮演. 我知道财大气粗的方案肯定能做得更好, 但maica或许更适合广泛适应的角色扮演. 只有在完成之后才能检验了. ps.加一层循环应该能让代码好看很多, 但是我懒得弄了.
Edge 此前可以正常运行的awq量化出现了问题. 我提交了issue, 希望会有人替我想想办法. 出于我不知道的原因, 使用gptq量化的过程中显存溢出了, 在此之前我没有遇到过这种情况, 可能也是qwen2本身的问题. 如果我要继续对核心模型进行gptq, 我可能需要一张专用的显卡. 使用直接插入emotion的数据集微调效果不佳. 很可能是被拆分为不同的system prompt使其关联性减弱, 而直接插入的表情字符在token切分过程中也出了问题. 需要格式化? 修改system prompt导致了其它问题. 虽然看起来像过拟合的一种, 但超过一定step之后模型表现的态度出现了直观的反转. 我猜测插入的内容可能打乱了分词表和接龙的原有结构, 这是过拟合的另外一个表现. 我首先需要定位量化流程中存在的问题, 然后尝试格式化表情字符并再次观察训练效果, 再对驱动进行改装. 如果实际结果证明使模型直接输出情绪标识真的是不可行的, 我们只能fallback到原有的计划, 即为agent模型引入更多任务. 假设什么都一切顺利每次都是错的. 这会是一场苦战.
Vadera #196 Edge 我做过一个语义搜索的小demo,用词嵌入代替文献检索中的关键词检索与正则匹配。 步骤如下: 爬取指定期刊上的部分文献,包含题目、关键词和摘要 用openai的embeddings模型做嵌入,结果保存至本地的向量数据库 用户提供想法文本,这段文本也会转化为向量,计算与本地数据库中的向量的距离 这种做法是考虑到文本与关键词间有稳定的匹配关系,在这里可能表现不好,因为缺少角色指令、态度明确的数据集。不过我认为这是一个十分轻量的方案,并且辅以文本分类也许可以减少部分人工。 如果您认为这一想法值得考虑,我会在这几天里把相应代码整理出来。
Edge #199 Vadera 我知道langchain有相关的功能, 但是情况在Mfocus上有一定的区别. Mfocus的目标并不是检索, 而是分析+提取. 在文本输入之初, 我们并不知道我们"需要"形如什么的数据, 这极大地削弱了langchain检索的功用. Mfocus的数据实际上来说并不多, 只有最多一百多条. 在这样一个相对小的规模上, 全部用正则比部署一个模型可能还省一些. Mfocus需要读取存档, 而存档的数据并不是人类直接可读的, 它的键名包含很多缩写, agent基本上不可能理解它. 我确实很认真地考虑过langchain检索的可行性, 但是结论是那只适合检索海量信息和文献. maica的需求对它来说太小而且太刁钻了.