本地通过python运行AI大语言模型LLaMa2
什么是Llama2
Llama 全称 large language model, Meta AI 公司2023年发布的开源AI大型语言模型,参数7B~65B。最新版本为Llama 3。 更为详细的介绍可参考,LLaMA - 维基百科,自由的百科全书 (wikipedia.org) 。
什么是llama.cpp?
一个开源c++库,用c++重写了LLaMa的推理代码,可用于CPU上加载运行LLaMa语言模型,极大的降低了对硬件的要求(RAM开销低于4G)。 Git 仓库地址: GitHub - ggerganov/llama.cpp: LLM inference in C/C++
本地运行大模型准备:
- pip install llama-cpp-python , 作为参考,我本地安装运行的版本为0.2.87
- 从Hugging Face上下载一个已经训练好的模型文件到本地 ,作为参考,我下载的是zephyr-7b-beta.Q4_0.gguf 这个模型
TheBloke/zephyr-7B-beta-GGUF at main (huggingface.co)
3.代码示例及运行结果:
运行以下python脚本,即可基于输入prompt得到模型的输出。顺便提一下,对于zephyer-7b-beta模型,prompt输入支持各种不同语言。
一些参数解释:
prompt经token化后被分解为更小单位的个数,代码中的max_tokens为模型输出最大token数;
temperature用于控制模型输出的确定性,区间为0到1, 值越小输出越具有确定性,值越大输出越有随机性;
(temperature表示模型输出层中softmax函数中的T值,T越大,各预测词的权重越平均,因而输出结果更随机)
echo表示是否需要在模型开头打印出原始prompt;
stop表示输出结果遇到哪个字符则中断输出,举例 ‘\n’表示换行则终止输出。
针对不同的prompt,模型对于同一个问题给出的输出可能截然不同:
Happy Coding :) !
拓展阅读: LLAMA2模型架构 -- 一文为你深度解析LLaMA2模型架构_人工智能_华为云开发者联盟_InfoQ写作社区
prompt提示词结构 -- 浅谈LLAMA2核心函数generate源码_llama temperature-CSDN博客
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了