四天过去了,Gemma-2 并没有复刻 Llama-3 当年的火爆场景 —— 当时的 Llama-3 在第四天已经有了 1,000 多个变种,还出现了各式各样的中文微调版本,比如 Unichat-llama3-Chinese、llama3-Chinese-chat、llama3-chinese、llama3-8b-Chinese-ft……每一位开发者都在争抢第一波的热度,甚至还有清华系的大学研究团队跟进,颇有当年 QQ 空间的“抢车位”游戏的感觉。
再看看 Gemma-2 及其衍生模型的下载量,和初代 Gemma 的 2B 端侧模型 30 万的下载量更是完全没法比。
微调是机器学习领域中提升模型特定任务性能的关键步骤,Gemma-2-9B-Chinese-Chat 的微调过程尤其注重了对中英文双语能力的增强。不同于简单的翻译任务,该模型旨在实现两种语言间的自然对话与理解,要求模型不仅要准确翻译,还要理解语境、文化差异及语言习惯。
ORPO 算法(Odds Ratio Preference Optimization)在此过程中扮演了核心角色。此算法灵感来源于信息检索和统计学,通过计算偏好输出与非偏好输出的概率比值,引导模型学习更符合人类偏好的表达方式。ORPO 的一个关键优势在于,它允许在没有直接偏好标签的环境下进行优化,这意味着模型可以依据相对模糊的反馈(如用户满意度调查、互动次数等)自我调整,达到更高的个性化和用户满意度。
此前,Google 的 T5(Text-to-Text Transfer Transformer)模型,就展示了预训练模型在多种文本生成和理解任务上的广泛适用性;Facebook 的RoBERTa(Robustly Optimized BERT Pretraining Approach)通过改进训练策略,提高了模型的泛化能力。这些工作共同推动了大规模语言模型向更高效、更灵活的方向发展。
在双语模型领域,也有诸多研究值得关注,如 XLM-R(Cross-lingual Language Model - Roberta)通过在多种语言的文本上进行预训练,实现了跨语言的理解和生成能力。
生成质量
作者在模型下载页面展示了Gemma-2-9B-Chinese-Chat 生成的一些示例,包括角色扮演、函数调用、数学、安全、写作和编码几大类别,还有专门用“弱智吧”问题提问的案例。我们选几样进行展示:
角色扮演
Gemma-2-9B-Chinese-Chat 不仅能很好地扮演鲁智深的角色,还能继承上一轮对话保持人设进行聊天,效果还是不错的。
另外,别忘了这也是一个针对中英文混合场景的模型,对英文同样进行了微调,可以完成英文写诗之类的操作。
数学
经典的鸡兔同笼问题。值得一提的是,三个月前参数差不多的 Llama-3-8B-Instruct 在很多博主测试鸡兔同笼问题时遭遇了“翻车”。
代码
这一轮便交由屏幕前的你进行批判了,以下是问答全文。
提问:用 C++ 实现 KMP 算法,并加上中文注释。
Gemma-2-9B-Chinese-Chat:KMP 算法是一种在字符串匹配过程中,通过预处理计算出每个子串的最长前后缀来优化字符串匹配过程的算法。以下是一个使用 C++ 实现的 KMP 算法的例子,并且附带中文注释。
#include <iostream>#include <vector>// KMP算法核心函数,用于计算文本模式前缀的最长前后缀长度std::vector<int> computeLPSArray(const std::string &pattern) {int M = pattern.length();std::vector<int> lps(M, 0); // lps[i]表示pattern[0...i-1]的最长前后缀长度int length = 0; // 之前匹配的长度int i = 1; // 遍历模式串的位置while (i < M) {if (pattern[i] == pattern[length]) {length++;lps[i] = length;i++;} else {if (length != 0) {length = lps[length - 1];} else {lps[i] = 0;i++;}}}return lps;}// 匹配字符串,返回匹配次数int kmpSearch(const std::string &text, const std::string &pattern, std::vector<int> lps) {int N = text.length();int M = pattern.length();int i = 0;int j = 0;int count = 0; // 匹配次数while (i < N) {if (text[i] == pattern[j]) {i++;j++;}if (j == M) {count++;j = lps[j - 1];}}return count;}int main() {std::string text = "AABAACAADAABAAABAA";std::string pattern = "AABA";std::vector<int> lps = computeLPSArray(pattern);int count = kmpSearch(text, pattern, lps);std::cout << "匹配次数为: " << count << std::endl;return 0;}
你觉得 Gemma-2-9B-Chinese-Chat 的表现如何?最后,再次附上链接,期待接下来还有更多的 Gemma-2 中文微调模型问世,再演 Llama 3 的开源热潮。
模型链接:https://huggingface.co/shenzhi-wang/Gemma-2-9B-Chinese-Chat
由 CSDN 和 Boolan 联合主办的「2024 全球软件研发技术大会(SDCon)」将于 7 月 4 -5 日在北京威斯汀酒店举行。
由世界著名软件架构大师、云原生和微服务领域技术先驱 Chris Richardson 和 MIT 计算机与 AI 实验室(CSAIL)副主任,ACM Fellow Daniel Jackson 领衔,华为、BAT、微软、字节跳动、京东等技术专家将齐聚一堂,共同探讨软件开发的最前沿趋势与技术实践。
大会官网:http://sdcon.com.cn/(可点击阅读原文直达)
| 欢迎光临 链载Ai (https://www.lianzai.com/) | Powered by Discuz! X3.5 |