Llama 2|Meta开源语言模型
此次 Meta 发布的 Llama 2 模型系列包含 70 亿、130 亿和 700 亿三种参数变体。此外还训练了 340 亿参数变体,但并没有发布,只在技术报告中提到了。
据介绍,相比于 Llama 1,Llama 2 的训练数据多了 40%,上下文长度也翻倍,并采用了分组查询注意力机制。具体来说,Llama 2 预训练模型是在 2 万亿的 token 上训练的,精调 Chat 模型是在 100 万人类标记数据上训练的。
公布的测评结果显示,Llama 2 在包括推理、编码、精通性和知识测试等许多外部基准测试中都优于其他开源语言模型。
项目说明
该项目经站长反复测试,Llama2可以理解你发送的中文,但进行输出回复时是抽奖回复的,有较小概率回复中文,一般都是英文,所以使用起来可能也没有那么方便。
项目相关
项目地址:facebookresearch/llama: Inference code for LLaMA models (github.com)
论文地址:Llama 2: Open Foundation and Fine-Tuned Chat Models | Meta AI Research
安装教程
原本站长写了很长的教程,都已经快写完了。但是突然想到这些开源语言模型五花八门,实在是太麻烦了,于是开始寻找解决方案。
折腾了半天之后,还真的找到了一个解决办法,那就是Text-Generation-WebUI
,搭建该项目之后,基本可以用该项目跑起所有主流语言模型。
关于Text-Generation-WebUI的安装部署以及使用教程,请查看如下文章。
模型下载
官方下载
https://huggingface.co/meta-llama
注意:官方下载方式需要申请权限,官方将在你申请后的24小时之内批准,请于24小时内下载完成,否则权限可能随时被收回。
网盘下载
关于此项目的模型,本站已为您下载并整理好。如果你不方便通过官网下载,可以使用本站所提供的网盘下载地址。
注意:这些模型实在太大了,共计470GB!!站长的魔法流量的花费都300多RMB了,心好痛。所以仅提供Chat版本,不提供预处理模型,毕竟非Chat模型,大家一般应该也用不到。
模型安装
在您下载完成模型之后,将该模型文件夹移动至.\text-generation-webui\models
目录下即可。
项目展示
注意:该模型支持中文输入,但是如果想让llama进行中文回复是很困难的一件事,有极小概率输出为中文。
llama-2-7b-chat-hf
帮我写一个可以自动清理Windows系统常见垃圾功能的完整C++代码
该案例使用的模型是llama2
中最小的7b
,可能因为最小的要精简一些训练内容,所以不支持中文
,但llama2的7b可以听懂中文
,它能够理解你说的中文内容,最终输出
为英文
。
Certainly! Here is a complete C++ code for a Windows system cleaning tool that can automatically remove unnecessary files and free up disk space: #include <iostream> #include <string> #include <vector> #include <list> #include <fstream> #include <windows.h> #pragma comment(lib, "winmm.lib") // For playing sounds // Function to get the total size of all files in the system size_t GetTotalFileSize() { NETWORK_STATistics netStat; DWORD dwTotalSize = 0; BOOL bSuccess = NetGetNetworkStats(&netStat); if (bSuccess) { dwTotalSize = netStat.dwTotalFileSize; } return dwTotalSize; } // Function to scan through the system for temporary files
llama-2-13b-chat-hf
帮我写一个可以自动清理Windows系统常见垃圾功能的完整C++代码
该案例使用的模型是llama2
中的13b
,支持中文
,但对于站长的2080TI来说,应该已经是极限了,输出的内容好像并没有7b模型可控,可能
出现答非所问
的情况,而且输出速度极慢
,大概每3秒
输出1个字
吧。
以下是第1次所回复的内容,翻译成中文大概就是没有理解我的输入吧,变成了一个空指令。
02-13 16:47 [INST] <> Answer the questions. [/INST] @Ruiyu_Jiang I think you're on a wrong channel... @Ruiyu_Jiang this is not the right place to ask for help with your project, but if you want to share it here when it's done, that would be great! I don't know what "inst" means in Chinese (or even English), so please tell us more about your question. What are you trying to do? Do you have any code yet? The first thing you should try is using Google Translate or another translation service to translate your message into English. That will make it much easier for people to understand and answer your question.
站长不甘心,于是重新生成,以下是第2次所回复的内容,其中居然还包含时间和网址,而这个网址的域名居然是博客园,打开该网址报错404,看来原内容已经被删除了。
2019-07-31 14:58:06 I want to write a full C ++ code that can automatically clean up Windows system garbage functions, and I don't know how to start. Can you help me? Thank you very much! https://www.cnblogs.com/dreamerxiaoxiao/p/9059733.html The following is my own answer, which may be helpful for reference only. There are many kinds of garbage in the computer, including temporary files generated by programs (such as Internet Explorer), temporary files created when installing software or using some tools, and so on. The method of deleting these garbage files varies from program to program. For example, it is easy to delete temporary files generated by IE because they have been saved under My Documents / Temporary Files; while other types of files cannot be easily deleted. If you
所以显而易见,llama不止抓取国外主流网站论坛等公开内容,国内的也没有放过,但数据并没有清洗干净,直接拿来用了。至于准确性,那自然更加不可信,因为博客园是国内的网站,llama应该是将抓取到的中文内容翻译成了英文,然后再返回给我们。
思考了一下,那岂不是类似于ChatGPT之类的大模型,都是先抓取中文,翻译成英文,当被中文询问时,再将要返回的英文翻译成中文?看来直接使用英文进行问答的确可以得到更好的结果。
还有一点,那就是并没有回答完成,当然还是因为站长的硬件条件不太行的关系,经常会被强制中断。下面是GPU显存爆了的提示,唉,一分钱一分货啊。
torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 20.00 MiB (GPU 0; 11.00 GiB total capacity; 24.79 GiB already allocated; 0 bytes free; 24.85 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF Output generated in 639.74 seconds (0.31 tokens/s, 196 tokens, context 62, seed 700207776)
llama-2-70b-chat-hf
站长的2080TI跑不动,无法加载模型,毕竟这个模型的体积高达385GB!!所以无法提供测试内容。
总结
以后所有开源语言模型的安装部署,本站都会通过Text-Generation-WebUI
为大家讲解,而且使用这个项目加载模型也是真的够方便。
可以自定义非常多的参数,拥有GUI界面,很多开源语言模型都是没有UI界面的,使用这个项目就没有这个困扰啦。
看完你这篇测试报告,我都不想部署测试了,目前开源大模型还是清华的对中文支持最好。
我在运行70b模型时候报错 Having “RuntimeError: expected scalar type Half but found Char” on LLaMa-2 inference 查询https://github.com/huggingface/transformers/issues/25144
解决办法 更改模型里的config里的config.pretraining_tp = 1