标签:
- 训练生成
- 代码
- 编程
- 羊驼模型
模型索引:
- 名称: Llama-2-coder-7b
结果: []
许可证: apache-2.0
语言:
- 代码
缩略图: https://huggingface.co/mrm8488/llama-2-coder-7b/resolve/main/llama2-coder-logo-removebg-preview.png
数据集:
- HuggingFaceH4/CodeAlpaca_20K
管道标签: 文本生成
LlaMa 2 程序员 🦙👩💻
LlaMa-2 7b 模型基于 CodeAlpaca 20k 指令数据集 微调,采用 QLoRA 方法和 PEFT 库实现。
模型描述 🧠
Llama-2
Llama 2 是一系列预训练和微调的生成文本模型,参数规模从70亿到700亿不等。
Meta 开发并公开发布了 Llama 2 系列大语言模型(LLMs),这是一组预训练和微调的生成文本模型,参数规模从70亿到700亿不等。我们微调后的 LLMs,称为 Llama-2-Chat,专为对话场景优化。Llama-2-Chat 模型在大多数测试基准上优于开源聊天模型,在我们进行的有用性和安全性人工评估中,与一些流行的闭源模型如 ChatGPT 和 PaLM 表现相当。
训练与评估数据 📚
CodeAlpaca_20K: 包含20K条指令跟随数据,用于微调 Code Alpaca 模型。
训练超参数 ⚙
优化器="paged_adamw_32bit",
训练轮数=2,
评估步数=50,
保存步数=50,
评估策略="步数",
保存策略="步数",
保存总数限制=2,
随机种子=66,
结束时加载最佳模型=True,
日志记录步数=1,
学习率=2e-4,
浮点16=True,
浮点16=False,
最大梯度范数=0.3,
预热比例=0.03,
按长度分组=True,
学习率调度器类型="常数"
训练结果 🗒️
步数 |
训练损失 |
验证损失 |
50 |
0.624400 |
0.600070 |
100 |
0.634100 |
0.592757 |
150 |
0.545800 |
0.586652 |
200 |
0.572500 |
0.577525 |
250 |
0.528000 |
0.590118 |
评估结果 📊
进行中
使用示例 👩💻
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer, GenerationConfig
模型标识 = "mrm8488/llama-2-coder-7b"
分词器 = AutoTokenizer.from_pretrained(模型标识)
模型 = AutoModelForCausalLM.from_pretrained(模型标识).to("cuda")
def 创建提示(指令):
系统 = "你是一个编码助手,将帮助用户解决以下指令:"
指令 = "### 指令: " + 指令
return 系统 + "\n" + 指令 + "\n\n" + "### 解决方案:" + "\n"
def 生成(
指令,
最大新标记=128,
温度=0.1,
顶部概率=0.75,
顶部k=40,
束搜索数=4,
**kwargs,
):
提示 = 创建提示(指令)
print(提示)
输入 = 分词器(提示, return_tensors="pt")
输入ID = 输入["input_ids"].to("cuda")
注意力掩码 = 输入["attention_mask"].to("cuda")
生成配置 = GenerationConfig(
温度=温度,
顶部概率=顶部概率,
顶部k=顶部k,
束搜索数=束搜索数,
**kwargs,
)
with torch.no_grad():
生成输出 = 模型.generate(
input_ids=输入ID,
attention_mask=注意力掩码,
generation_config=生成配置,
return_dict_in_generate=True,
output_scores=True,
max_new_tokens=最大新标记,
early_stopping=True
)
序列 = 生成输出.sequences[0]
输出 = 分词器.decode(序列)
return 输出.split("### 解决方案:")[1].lstrip("\n")
指令 = """
编辑以下XML代码,在网页顶部添加导航栏
<html>
<head>
<title>CliBrAIn</title>
</head>
"""
print(生成(指令))
引用
@misc {manuel_romero_2023,
作者 = { {Manuel Romero} },
标题 = { llama-2-coder-7b (修订版 d30d193) },
年份 = 2023,
网址 = { https://huggingface.co/mrm8488/llama-2-coder-7b },
数字对象标识符 = { 10.57967/hf/0931 },
出版商 = { Hugging Face }
}