Llama-1|Alpaca-LoRA 微调模型下载以及安装推理教程
经常玩AI的人应该对LoRA这一词并不陌生,尤其是在SD绘画领域,各种角色的LoRA模型层出不穷。那么语言领域是否存在LoRA呢?存在,且繁荣!
LoRA你可以理解为语言模型的一个角色,同绘画领域是一致的,是一个基于大模型所单独调教好的指定角色。比如Llama-1在泄漏之初的对话能力是极差的,仅能够通过排比式语句或其它方式引导其回复指定内容。这个时候LoRA技术的好处就体现了出来,我们如果直接对LLaMA大模型进行训练调整,这将是地狱级别的硬件消耗,然后我们可以冻结基础模型,通过嵌入式LoRA来对LLaMA进行微调,让其拥有指定的特殊功能强化。有点类似于你在SD中加载了刘亦菲,那么生成后的角色样貌总是和刘亦菲相似;又比如你基于官方模型SD-1.5大模型训练了一个李白,那么后生成的角色也都是围绕着李白的样貌。
项目描述
Alpaca模型是由坦福大学研发的LLM(Large Language Model大语言)开源模型,是一个在52K指令上从LLaMA 7B(Meta公司开源的7B)模型微调而来,具有70亿的模型参数(模型参数越大,模型的推理能力越强,当然随之训练模型的成本也就越高),而Alpaca-LoRA正是依托于此。
该代码库包含用于复现Stanford Alpaca使用低秩适应(LoRA)的结果的代码。我们提供了一个类似质量的Instruct模型,可以在树莓派上运行(用于研究),代码可以轻松扩展到 [其他模型] [此处可能缺少部分文本] text-davinci-003
13b
30b
65b
。
除了训练代码,在单个RTX 4090上运行数小时之外,我们还发布了一个用于下载基础模型和LoRA上进行推理的脚本,以及得到的LoRA权重本身。为了进行便宜高效的微调,我们使用了Hugging Face的PEFT以及Tim Dettmers的bitsandbytes。
在没有超参数调整的情况下,LoRA模型产生的输出与Stanford Alpaca模型相当,进一步的调整可能能够获得更好的性能。
项目声明
该项目的所有模型都是基于LLaMA-1泄漏版本,现Meta官方已开源发布LLaMA-2版本,版本2拥有更好的推理与性能,为大家讲解LLaMA-1仅为给特殊需要的人使用。
关于LLaMA-2版本的教程,可以查阅以下教程,官方模型支持Chat聊天对话形式。
项目相关
斯坦福Alpaca:tatsu-lab/stanford_alpaca
Alpaca-LoRA:tloen/alpaca-lora: Instruct-tune LLaMA on consumer hardware (github.com)
论文地址:https://arxiv.org/pdf/2106.09685.pdf
安装教程
为了避免各个语言模型需要单独安装配置各种语言环境等复杂问题,站长推荐大家使用Text-Generation-WebUI
来加载模型。
你可以将Text-Generation-WebUI
理解为是一个通用的语言模型加载工具,在你部署成功之后,各主流的开源语言模型无需单独安装部署,仅需要将模型放置到Text-Generation-WebUI
的模型路径下即可使用,非常方便。
关于Text-Generation-WebUI
的安装部署以及使用教程,请查看如下文章。
模型相关
官方下载
注意:如果你想运行7B的LoRA,那么就需要7B的LLama模型;如果你想推理65B的LoRA,那么就需要下载对应65B的LLaMA基础模型。
LLaMA基础模型官方下载地址
- 各种适配器重量(下载风险自负):
- 7B:
- 3️⃣ https://huggingface.co/tloen/alpaca-lora-7b
- 3️⃣ https://huggingface.co/samwit/alpaca7B-lora
- 4️⃣ https://huggingface.co/chansung/gpt4-alpaca-lora-7b
- 🚀 https://huggingface.co/nomic-ai/gpt4all-lora
- 🇧🇷 https://huggingface.co/22h/cabrita-lora-v0-1
- 🇨🇳 https://huggingface.co/qychen/luotuo-lora-7b-0.1
- 🇨🇳 https://huggingface.co/ziqingyang/chinese-alpaca-lora-7b
- 🇯🇵 https://huggingface.co/kunishou/Japanese-Alapaca-LoRA-7b-v0
- 🇫🇷 https://huggingface.co/bofenghuang/vigogne-lora-7b
- 🇹🇭 https://huggingface.co/Thaweewat/thai-buffala-lora-7b-v0-1
- 🇩🇪 https://huggingface.co/thisserand/alpaca_lora_german
- 🇵🇱 https://huggingface.co/mmosiolek/polpaca-lora-7b
- 🇵🇱 https://huggingface.co/chrisociepa/alpaca-lora-7b-pl
- 🇮🇹 https://huggingface.co/teelinsan/camoscio-7b-llama
- 🇷🇺 https://huggingface.co/IlyaGusev/llama_7b_ru_turbo_alpaca_lora
- 🇺🇦 https://huggingface.co/robinhad/ualpaca-7b-llama
- 🇮🇹 https://huggingface.co/mchl-labs/stambecco-7b-plus
- 🇪🇸 https://huggingface.co/plncmm/guanaco-lora-7b
- 🇬🇧 🇪🇸 🇵🇹 https://huggingface.co/HiTZ/alpaca-lora-7b-en-pt-es-ca-eu-gl-at
- 13B:
- 3️⃣ https://huggingface.co/Angainor/alpaca-lora-13b
- 3️⃣ https://huggingface.co/chansung/alpaca-lora-13b
- 3️⃣ https://huggingface.co/mattreid/alpaca-lora-13b
- 3️⃣ https://huggingface.co/samwit/alpaca13B-lora
- 4️⃣ https://huggingface.co/chansung/gpt4-alpaca-lora-13b
- 🇯🇵 https://huggingface.co/kunishou/Japanese-Alapaca-LoRA-13b-v0
- 🇰🇷 https://huggingface.co/chansung/koalpaca-lora-13b
- 🇨🇳 https://huggingface.co/facat/alpaca-lora-cn-13b
- 🇨🇳 https://huggingface.co/ziqingyang/chinese-alpaca-lora-13b
- 🇪🇸 https://huggingface.co/plncmm/guanaco-lora-13b
- 🇮🇹 https://huggingface.co/mchl-labs/stambecco-13b-plus
- 🇬🇧 🇪🇸 🇵🇹 https://huggingface.co/HiTZ/alpaca-lora-13b-en-pt-es-ca-eu-gl-at
- 30B:
- 65B
- 7B:
网盘下载
关于此项目的模型,本站已为您下载并整理好。如果你不方便通过官网下载,可以使用本站所提供的网盘下载地址。
注意:如果你想运行7B的LoRA,那么就需要7B的LLama模型;如果你想推理65B的LoRA,那么就需要下载对应65B的LLaMA基础模型。
LLaMA基础模型国内网盘下载地址
LoRA模型
注意:这些模型太多了,站长打包后统一分享给大家吧,想要下载哪一个,直接自己查找相应的名称下载即可。
模型安装
LLaMA基础模型:在您下载完成模型之后,将LLaMA基础模型文件夹移动至.\text-generation-webui\models
目录下即可。
LoRA模型:在您下载完成模型之后,将LoRA模型文件夹移动至.\text-generation-webui\loras
目录下即可。
模型加载
在你安装完成text-generation-webui
之后,在text-generation-webui
的Model选项卡界面
界面,左侧的Model
下拉框中选择相应版本的基础模型,然后点击Load按钮。
等待基础模型加载完成后,在该界面的右侧选择与该模型所匹配的LoRA模型,然后点击Apply LoRAs
按钮。
如果你的硬件条件达标,那就可以正常运行啦,反正站长的电脑连LLaMA-1的7B版本都跑不动,所以就不演示了(好像3090可以跑的动?)。
关于其它text-generation-webui
的其它使用教程,请【点击查看】。
推理示例
注意:以下内容,已由站长翻译为中文,并非直接输出中文。
推理示例-1
告诉我关于羊驼的信息。
Alpaca-LoRA:羊驼是驼科动物,原产于南美洲的安第斯山脉。它们以柔软豪华的羊毛而闻名,这些羊毛被用来制作服装、毯子和其他物品。羊驼是食草动物,以草和其他植物为食。它们是社交动物,生活在最多20个个体组成的群体中。
Stanford Alpaca:羊驼是小而蓬松的动物,与骆驼和羊驼有关。它们原产于秘鲁和玻利维亚,大约在5000年前被驯化。人们主要因为它们细软的羊毛而饲养它们,这些羊毛用于制作针织品和其他服装。羊驼是群居动物,生活在由一只老年公驴领导的小型家庭群中。它们是高度社交动物,可以与主人建立牢固的联系。
text-davinci-003:羊驼是南美洲驼科动物的一种,与羊驼类似。它们原产于南美洲的安第斯山脉,被用作家畜,以获得柔软奢华的羊毛。羊驼是社交动物,生活在由最多20只个体组成的群体中。它们通常被养在由2到5只动物组成的小型群体中,并且相对容易照顾。羊驼是食草动物,以草、干草和其他植物为食。它们还因其温和友好的性格而闻名,因此受欢迎作为宠物。
推理示例-2
告诉我关于2019年墨西哥总统的信息。
Alpaca-LoRA:2019年墨西哥总统是安德烈斯·曼努埃尔·洛佩斯·奥夫拉多尔,他于2018年12月1日上任。他是“国家复兴运动”(MORENA)政党的成员,是自1946年以来墨西哥的首位左翼总统。他以反腐败和反新自由主义政策以及改善墨西哥人民生活条件而闻名。
Stanford Alpaca:2019年,安德烈斯·曼努埃尔·洛佩斯·奥夫拉多尔宣誓就任墨西哥总统。他是墨西哥的第58任总统,也是第一个来自左翼MORENA党的总统。他在2018年的选举中承诺打击腐败和减少贫困,并因其处理经济、犯罪和与美国的关系而受到批评。他以其雄心勃勃的社会福利计划而闻名,并因提高最低工资和向低收入家庭提供援助而受到赞扬。他被认为是墨西哥的民主和人权捍卫者。
text-davinci-003:2019年的墨西哥总统是安德烈斯·曼努埃尔·洛佩斯·奥夫拉多尔,通常称为AMLO。他是一名墨西哥政治家,自2018年12月1日以来一直担任墨西哥总统。他是“国家复兴运动”(MORENA)政党的成员,之前还曾在2000年至2005年间担任墨西哥城政府的负责人。他是左翼民粹主义者,承诺在墨西哥减少腐败和不平等。他还承诺增加对社会计划和基础设施项目的公共支出。
推理示例-3
告诉我关于2019年法国国王的信息。
Alpaca-LoRA:2019年的法国国王是埃马纽埃尔·马克龙,他于2017年5月当选。他是第五共和国历史上最年轻的总统,也是第一位出生在二战后的总统。他还是第一位从未担任过选举职务的总统。
Stanford Alpaca:2019年,法国国王是埃马纽埃尔·马克龙。他于2017年5月14日宣誓就任法国总统,自那以后一直领导着国家。他是中间派的“共和前进”党的成员。他以他的改革议程而闻名,并面对来自政治谱系左右两侧的抗议。他是法国历史上最年轻的总统。
text-davinci-003:法国国王在很大程度上是象征性的角色,因为法国是共和制国家。现任法国总统是埃马纽埃尔·马克龙,他于2017年当选。
推理示例-4
按字母顺序列出所有加拿大省份。
Alpaca-LoRA:阿尔伯塔省、不列颠哥伦比亚省、马尼托巴省、新不伦瑞克省、纽芬兰与拉布拉多省、新斯科舍省、安大略省、爱德华王子岛省、魁北克省、萨斯喀彻温省 Stanford Alpaca:阿尔伯塔省、不列颠哥伦比亚省、马尼托巴省、新不伦瑞克省、纽芬兰与拉布拉多省、新斯科舍省、安大略省、爱德华王子岛省、魁北克省、萨斯喀彻温省、西北地区、努纳武特地区、育空地区。 text-davinci-003: 阿尔伯塔省 不列颠哥伦比亚省 马尼托巴省 新不伦瑞克省 纽芬兰与拉布拉多省 西北地区 新斯科舍省 努纳武特地区 安大略省 爱德华王子岛省 魁北克省 萨斯喀彻温省 育空地区
推理示例-5
编写一个Python程序,打印前10个斐波那契数。
Alpaca-LoRA: for i in range(1, 101): if i % 3 == 0 and i % 5 == 0: print("FizzBuzz") elif i % 3 == 0: print("Fizz") elif i % 5 == 0: print("Buzz") else: print(i)
Stanford Alpaca: for i in range(1, 101): if i % 3 == 0 and i % 5 == 0: print('FizzBuzz') elif i % 3 == 0: print('Fizz') elif i % 5 == 0: print('Buzz') else: print(i)
text-davinci-003: for (let i = 1; i <= 100; i++) { if (i % 3 === 0 && i % 5 === 0) { console.log("FizzBuzz"); } else if (i % 3 === 0) { console.log("Fizz"); } else if (i % 5 === 0) { console.log("Buzz"); } else { console.log(i); } }
推理示例-6
告诉我五个与“shock”押韵的单词。
Alpaca-LoRA:Flock、lock、rock、stock和sock。
Stanford Alpaca:与shock押韵的五个单词是:rock、pop、shock、cook和snock。
text-davinci-003: Block Lock Dock Clock Rock
推理示例-7
将句子“I have no mouth but I must scream”翻译成西班牙语。
Alpaca-LoRA:No tengo boca pero tengo que gritar.
Stanford Alpaca:No tengo boca, pero debo gritar.
text-davinci-003:No tengo boca pero debo gritar.
总结
以后所有开源语言模型的安装部署,本站都会通过Text-Generation-WebUI
为大家讲解,所以非常推荐大家学习、安装并部署该项目。
评论 (0)