微调的各种问题 #253
-
在这里描述任何关于微调的问题。
官方提供的微调脚本为入门脚本,不会在微调加速,分布式微调,量化微调,数据集优化,微调参数调优 等领域进行较多尝试,仅保证代码在测试机上能正常运行,调优类问题需要开发者自行解决。 重写的微调代码已于2024年1月27日尝试上线,使用
确保你的peft版本为0.7.1 ,确保你使用的是hugginface最新的模型配置文件(更新于2024年2月5日) |
Beta Was this translation helpful? Give feedback.
Replies: 230 comments 500 replies
-
微调后的模型如何部署 |
Beta Was this translation helpful? Give feedback.
-
微调后的模型,如何合并 |
Beta Was this translation helpful? Give feedback.
-
官方例子使用gpu微调,但我的显卡不支持最低的配置要求。我试图把finetune.py中的model.half()改为model.float(),然后运行finetune_pt脚本,看起来似乎可以进行微调。虽然很慢(我降低了MAX_STEP为100)但仍然可以得到输出的pytorch_model.bin。 |
Beta Was this translation helpful? Give feedback.
-
求教,假如微调之后保存的目录是output/test,然后怎么使用微调的结果呢?有没有使用示例? |
Beta Was this translation helpful? Give feedback.
-
遇到一个问题,trainer中添加了evaluate dataset来do_eval。training时显存占用大概10GB(quantize bit 8 加载模型做pt2训练),evaluate时显存暴增到60GB+,看起来是有什么地方比较奇怪的分配了显存 |
Beta Was this translation helpful? Give feedback.
-
我修改了一下网络结构,给ChatGLM外挂了一个CNN用于处理图像,但这样没办法将embedding作为输入传递给model,同时也没办法像以前那样使用model.generate()来基于贪婪获得输出结果了,我该怎么样来解决这两个问题呢? class ImageGLM(nn.Module):
def __init__(self,MODEL_PATH,config):
super().__init__()
self.GLM = AutoModel.from_pretrained(MODEL_PATH, config=config, trust_remote_code=True)
self.layer0 = nn.Linear(4096, 65024)
self.layer1 = nn.Linear(65024, 1024)
self.layer2 = nn.Linear(1024, 65024)
self.CNN1 = nn.Conv2d(in_channels=3, out_channels=4, kernel_size=2, stride=1, padding=0, dilation=1, groups=1, bias=False, padding_mode='zeros', device=None, dtype=None)
self.CNN2 = nn.Conv2d(in_channels=4, out_channels=8, kernel_size=3, stride=1, padding=0, dilation=1, groups=1, bias=False, padding_mode='zeros', device=None, dtype=None)
self.CNN3 = nn.Conv2d(in_channels=8, out_channels=3, kernel_size=2, stride=1, padding=0, dilation=1, groups=1, bias=False, padding_mode='zeros', device=None, dtype=None)
self.CNNLinearLayer1 = nn.Linear(3*80*80, 65024)
self.torch_resize = Resize([84,84]) # 定义Resize类对象
self.eos_token_id = [tokenizer.eos_token_id, tokenizer.get_command("<|user|>"),
tokenizer.get_command("<|observation|>")]
def forward(self,x):
input_embeds = self.GLM.transformer.embedding(x['input_ids'])
input_embeds = torch.transpose(input_embeds,0, 1)
print(f"input_embeds : {input_embeds.shape} {type(input_embeds)}")
input_embeds = torch.tensor(input_embeds, dtype=torch.float32)
output_tensor = self.GLM(x['input_ids'])
output_tensor = torch.tensor(output_tensor['logits'], dtype=torch.float32)
print(f"output_tensor['logits'] : {output_tensor.shape} {type(output_tensor)}")
print(f"x['image'] : {x['image'].shape} {type(x['image'])}")
im1_resize = self.torch_resize(x['image'])
CNNout = self.CNN1(im1_resize)
CNNout = self.CNN2(CNNout)
CNNout = self.CNN3(CNNout)
Num, Channels, Height, Width = CNNout.shape
#等价于x = x.view(Num, -1)
CNNout = CNNout.view(Num, Channels*Height*Width)
CNNout = self.CNNLinearLayer1(CNNout)
CNNout = CNNout.unsqueeze(1)
lora_zero = self.layer0(input_embeds)
print(f"{output_tensor.shape=}\n{lora_zero.shape=}\n{CNNout.shape=}")
lora_fir = self.layer1(output_tensor+lora_zero+CNNout)
out = self.layer2(lora_fir)
return out |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
你好,我在使用PEFT的ptuning微调ChatGLM3的时候遇到数据加载不进去的问题_issueSystem Info / 系統信息torch--1.13.1+cu116 是在PEFT微调过程中出现的问题 Information / 问题信息
Reproduction / 复现过程我通过如下设置的我的代码:
上面的代码LoRa可以进行微调,但是Ptuning不可以,会报这样的错:
Expected behavior / 期待表现期待您能帮我解决困惑已久的问题,真的非常需要您的帮助! |
Beta Was this translation helpful? Give feedback.
-
有一个疑问请大佬解答下: |
Beta Was this translation helpful? Give feedback.
-
请问下大佬,如果做baseModel的LORA微调,配置要求是啥样的,参数调的很低了但是16G单卡次次OOM |
Beta Was this translation helpful? Give feedback.
-
我尝试用自己的数据进行微调,训练过程没什么障碍,然而生成的模型在回答问题是变得语无伦次,不清楚是哪个环节的问题? |
Beta Was this translation helpful? Give feedback.
-
采取的训练样本数据为: [
{
"prompt": "<prompt text>",
"response": "<response text>"
}
// ...
] 我的数据量差不多有80w,这种微调时大家有什么好的参数建议吗? |
Beta Was this translation helpful? Give feedback.
-
为啥本地跑的,没有像官方那样,会多一步thought的,然后再去调用工具? |
Beta Was this translation helpful? Give feedback.
-
请问为什么模型量化完int4和int8后反而回复的速度不如原本默认的fp16呢 |
Beta Was this translation helpful? Give feedback.
-
finetune_demo/finetune_hf.py的依赖是不是少了,我看很多需要执行的依赖并不在requirements.txt中,大伙怎么跑的 |
Beta Was this translation helpful? Give feedback.
-
Traceback (most recent call last): File "G:\TCM_treatment\algorithm_program\ChatGlm3-6b\ChatGLM3-main\finetune_demo\finetune_hf.py", line 572, in File "G:\TCM_treatment\algorithm_program\ChatGlm3-6b\ChatGLM3-main\finetune_demo\finetune_hf.py", line 460, in main File "G:\TCM_treatment\algorithm_program\ChatGlm3-6b\ChatGLM3-main\finetune_demo\finetune_hf.py", line 210, in from_file File "G:\TCM_treatment\algorithm_program\venv\Lib\site-packages\ruamel\yaml\main.py", line 445, in load File "D:\python311\Lib\pathlib.py", line 1044, in open PermissionError: [Errno 13] Permission denied: 'G:\TCM_treatment\algorithm_program\ChatGlm3-6b\ChatGLM3-main\finetune_demo\chatglm3-6b-int4' 这个问题是什么引起的呢,这个路径以及文件夹的权限都是没有问题的,但是一直报错,有没有朋友帮忙解释一下 |
Beta Was this translation helpful? Give feedback.
-
好的好的,我尝试一下,感谢感谢
…---- 回复的原邮件 ----
| 发件人 | ***@***.***> |
| 日期 | 2024年05月15日 15:14 |
| 收件人 | ***@***.***> |
| 抄送至 | ***@***.***>***@***.***> |
| 主题 | Re: [THUDM/ChatGLM3] 微调的各种问题 (Discussion #253) |
我也是这个情况,目前解决方式是先安装全局的依赖项,再安装finetune_demo下的requirements.txt的
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
报错内容:IndexError: Index 49 out of range for dataset of size 30. 控制台:
lora.yaml: data_config:
train_file: result.json
val_file: val_50.json
test_file: 2023sfks.json
num_proc: 1
max_input_length: 8192
max_output_length: 8192
training_args:
# see `transformers.Seq2SeqTrainingArguments`
output_dir: /root/onethingai-tmp/output/
max_steps: 13684
# needed to be fit for the dataset
learning_rate: 1e-5
# settings for data loading
per_device_train_batch_size: 8
dataloader_num_workers: 8
remove_unused_columns: false
# settings for saving checkpoints
save_strategy: steps
save_steps: 6000
# settings for logging
log_level: info
logging_strategy: steps
logging_steps: 1000
# settings for evaluation
per_device_eval_batch_size: 16
evaluation_strategy: steps
eval_steps: 100001
# settings for optimizer
# adam_epsilon: 1e-6
# uncomment the following line to detect nan or inf values
# debug: underflow_overflow
predict_with_generate: true
# see `transformers.GenerationConfig`
generation_config:
max_new_tokens: 4096
# set your absolute deepspeed path here
#deepspeed: ds_zero_2.json
# set to true if train with cpu.
use_cpu: false
peft_config:
peft_type: LORA
task_type: CAUSAL_LM
r: 8
lora_alpha: 32
lora_dropout: 0.1 训练集格式已经检查过了,应该是没有问题的。之前在 #1219 上是训练了一会儿之后才出现的另一个问题,我怀疑超长带来的所以特地在合并数据的时候加了长度检查,限制到了4000…… 数据集链接: 数据集样本: [{"conversations": [{"role": "system", "content": "你是一个法律专家,你的回应应该准确。在完成之后,可以给你大大的奖励。请回答该问答题:"},{"role": "user","content": "某日晚上甲正在马路上盗窃自行车,被路过的乙丙丁三人看见,随后乙丙丁为了获取钱财,把甲带到路旁的公园将甲暴打一顿,并且强行要甲给予乙丙丁三人2000元。丁因为临时接到老婆的电话离开犯罪现场,乙和丙在取得2000元财物以后才离开犯罪现场。第二天早上在公园散步的路人发现甲已经在公园里死亡,公安机关随机对案件展开立案侦查,并将嫌疑人乙丙丁抓捕到案,案件经过侦查表明,被害人甲是在前一天晚上20点-23点之间因钝器敲击致死。同时,乙丙丁三人对甲以暴力的方式强行取得甲2000元钱的犯罪事实供认不讳,并且认罪认罚。但是在法庭庭审的过程中,当事人乙丙强调他们两人在丁离开现场以后,也同步离开犯罪现场,并无对被害人甲实施故意伤害行为,当事人甲的死亡与乙丙之间不存在直接的因果关系,拒绝认罪认罚,乙丙的辩护律师也在法庭庭审过程中对本案存在事实不清,证据不足的情形依法做了无罪的辩护。乙的辩护律师在案件的审理过程中认为乙在犯罪的过程中不满18岁,在辩护意见书中提出相应的辩护理由,其一,乙之所以未满18岁,是因为乙在出生的过程中户口本和准生证等级错误;其二,乙的毕业纪念册上记载的未成年的事实;其三,乙的叔叔是户籍民警,依法提供乙未成年的证人证言。法庭经过审查认为,乙的毕业生纪念册属于自己保管缺乏证据的证明力;户口本和准生证等级错误未有相关官方材料予以证明;乙的叔叔和乙具有直接的利害关系,证人证言的证明力较为薄弱,因此法庭最终未认定被告人乙在实施犯罪时属于未满18岁的未成年人。被害人甲的父母在案件刑事部分审理中依法提起附带民事诉讼,要求提供死亡要求死亡赔偿金、丧葬费、精神损失等相关赔偿事项,但是法院判决乙丙丁三人构成抢劫罪,乙丙因为没有证据证明他们实施的行为和甲的死亡之间存在因果关系,因此未认定乙丙构成故意伤害罪。\n现问:本案当事人乙丙对抢劫罪认罪认罚,同时两人认为自己不构成故意伤害行为,对全案可以适用认罪认罚处理吗?"}, {"role": "assistant","content": "乙丙二人涉嫌抢劫罪与故意伤害罪,二人只对抢劫认罪认罚,对故意伤害罪不认罪认罚,全案不作“认罪”的认定,不适用认罪认罚从宽制度。"}, {"role": "user","content": "被害人的母亲可否在案件庭审的过程中针对死亡赔偿金、丧葬费、精神损失等依法提起附带民事诉讼?"}, {"role": "assistant","content": "本案系甲的人身权利遭受侵害的犯罪,其母亲提出的赔偿丧葬费的请求能够得到法院支持,但对于死亡赔偿金的请求,法院不予支持;对于精神损失费,法院一般不予支持。"}, {"role": "user","content": "法院未认定被告人乙属于未成年人是否符合法律程序要求?"}, {"role": "assistant","content": "不符合法律程序要求。根据《刑事诉讼法解释》第 146 条的规定,法院应当根据户籍证明、出生证明文件、学籍卡、人口普查登记、无利害关系人的证言等证据综合判断审查被告人实施被指控的犯罪时是否达到相应法定责任年龄,且证明被告人已满十二周岁、十四周岁、十六周岁、十八周岁或者不满七十五周岁的证据不足的,应当作出有利于被告人的认定。本案中,尽管乙叔叔的证言需要其他证据才能采信,出生证明、毕业纪念册上乙的年龄存疑,但是,证明乙已满 18 周岁的证据不足,应当作出有利于被告人的认定,应认定乙是未成年人。"}, {"role": "user","content": "本案中法院未认定乙、丙构成故意伤害行为是否符合法律规定?"}, {"role": "assistant","content": "符合法律规定。认定被告人有罪的证明标准是犯罪事实清楚、证据确实充分。本案认定乙、丙构成故意伤害(致人死亡)罪的证据未形成完整的证据体系,乙、丙击打甲的犯罪指控无法得到证实,而且,综合全案证据对所认定事实不能排除合理怀疑,甲可能是在二人离开公园后因为其他原因死亡。本案系事实不清、证据不足,不能认定乙、丙构成故意伤害 (致人死亡)罪。"}, {"role": "user","content": "如果人民法院未认定乙是未成年人,乙的法定代理人和辩护律师依法上诉到二审法院,那么二审法院应当依法如何处理?"}, {"role": "assistant","content": "第一审法院认定乙的年龄系事实不清、证据不足,第二审法院可以查清事实改判,也可以裁定撤销原判,发回第一审法院重审,第二审法院认为乙犯罪时已满 17 岁未满18岁,可以对抢劫罪做出有罪判决。"}]},{"conversations": [{"role": "system", "content": "你是一个法律专家,你的回应应该准确。在完成之后,可以给你大大的奖励。请回答该问答题:"},{"role": "user", "content": "某日晚上甲正在马路上盗窃自行车,被路过的乙丙丁三人看见,随后乙丙丁为了获取钱财,把甲带到路旁的公园将甲暴打一顿,并且强行要甲给予乙丙丁三人2000元。丁因为临时接到老婆的电话离开犯罪现场,乙和丙在取得2000元财物以后才离开犯罪现场。第二天早上在公园散步的路人发现甲已经在公园里死亡,公安机关随机对案件展开立案侦查,并将嫌疑人乙丙丁抓捕到案,案件经过侦查表明,被害人甲是在前一天晚上20点-23点之间因钝器敲击致死。同时,乙丙丁三人对甲以暴力的方式强行取得甲2000元钱的犯罪事实供认不讳,并且认罪认罚。但是在法庭庭审的过程中,当事人乙丙强调他们两人在丁离开现场以后,也同步离开犯罪现场,并无对被害人甲实施故意伤害行为,当事人甲的死亡与乙丙之间不存在直接的因果关系,拒绝认罪认罚,乙丙的辩护律师也在法庭庭审过程中对本案存在事实不清,证据不足的情形依法做了无罪的辩护。乙的辩护律师在案件的审理过程中认为乙在犯罪的过程中不满18岁,在辩护意见书中提出相应的辩护理由,其一,乙之所以未满18岁,是因为乙在出生的过程中户口本和准生证等级错误;其二,乙的毕业纪念册上记载的未成年的事实;其三,乙的叔叔是户籍民警,依法提供乙未成年的证人证言。法庭经过审查认为,乙的毕业生纪念册属于自己保管缺乏证据的证明力;户口本和准生证等级错误未有相关官方材料予以证明;乙的叔叔和乙具有直接的利害关系,证人证言的证明力较为薄弱,因此法庭最终未认定被告人乙在实施犯罪时属于未满18岁的未成年人。被害人甲的父母在案件刑事部分审理中依法提起附带民事诉讼,要求提供死亡要求死亡赔偿金、丧葬费、精神损失等相关赔偿事项,但是法院判决乙丙丁三人构成抢劫罪,乙丙因为没有证据证明他们实施的行为和甲的死亡之间存在因果关系,因此未认定乙丙构成故意伤害罪。现问:1 本案当事人乙丙对抢劫罪认罪认罚,同时两人认为自己不构成故意伤害行为,对全案可以适用认罪认罚处理吗?\n2 被害人的母亲可否在案件庭审的过程中针对死亡赔偿金、丧葬费、精神损失等依法提起附带民事诉讼?\n3 法院未认定被告人乙属于未成年人是否符合法律程序要求?\n4 本案中法院未认定乙、丙构成故意伤害行为是否符合法律规定?\n5 如果人民法院未认定乙是未成年人,乙的法定代理人和辩护律师依法上诉到二审法院,那么二审法院应当依法如何处理?"},{"role": "assistant", "content": "1、乙丙二人涉嫌抢劫罪与故意伤害罪,二人只对抢劫认罪认罚,对故意伤害罪不认罪认罚,全案不作“认罪”的认定,不适用认罪认罚从宽制度。\n2、本案系甲的人身权利遭受侵害的犯罪,其母亲提出的赔偿丧葬费的请求能够得到法院支持,但对于死亡赔偿金的请求,法院不予支持;对于精神损失费,法院一般不予支持。\n3、不符合法律程序要求。根据《刑事诉讼法解释》第 146 条的规定,法院应当根据户籍证明、出生证明文件、学籍卡、人口普查登记、无利害关系人的证言等证据综合判断审查被告人实施被指控的犯罪时是否达到相应法定责任年龄,且证明被告人已满十二周岁、十四周岁、十六周岁、十八周岁或者不满七十五周岁的证据不足的,应当作出有利于被告人的认定。本案中,尽管乙叔叔的证言需要其他证据才能采信,出生证明、毕业纪念册上乙的年龄存疑,但是,证明乙已满 18 周岁的证据不足,应当作出有利于被告人的认定,应认定乙是未成年人。\n4、符合法律规定。认定被告人有罪的证明标准是犯罪事实清楚、证据确实充分。本案认定乙、丙构成故意伤害 (致人死亡)罪的证据未形成完整的证据体系,乙、丙击打甲的犯罪指控无法得到证实,而且,综合全案证据对所认定事实不能排除合理怀疑,甲可能是在二人离开公园后因为其他原因死亡。本案系事实不清、证据不足,不能认定乙、丙构成故意伤害 (致人死亡)罪。\n5、第一审法院认定乙的年龄系事实不清、证据不足,第二审法院可以查清事实改判,也可以裁定撤销原判,发回第一审法院重审,第二审法院认为乙犯罪时已满 17 岁未满18岁,可以对抢劫罪做出有罪判决。"}]},{"conversations": [{"role": "system", "content": "你是一个法律专家,你的回应应该准确。在完成之后,可以给你大大的奖励。请回答该问答题:"},{"role": "user", "content": "某日晚上甲正在马路上盗窃自行车,被路过的乙丙丁三人看见,随后乙丙丁为了获取钱财,把甲带到路旁的公园将甲暴打一顿,并且强行要甲给予乙丙丁三人2000元。丁因为临时接到老婆的电话离开犯罪现场,乙和丙在取得2000元财物以后才离开犯罪现场。第二天早上在公园散步的路人发现甲已经在公园里死亡,公安机关随机对案件展开立案侦查,并将嫌疑人乙丙丁抓捕到案,案件经过侦查表明,被害人甲是在前一天晚上20点-23点之间因钝器敲击致死。同时,乙丙丁三人对甲以暴力的方式强行取得甲2000元钱的犯罪事实供认不讳,并且认罪认罚。但是在法庭庭审的过程中,当事人乙丙强调他们两人在丁离开现场以后,也同步离开犯罪现场,并无对被害人甲实施故意伤害行为,当事人甲的死亡与乙丙之间不存在直接的因果关系,拒绝认罪认罚,乙丙的辩护律师也在法庭庭审过程中对本案存在事实不清,证据不足的情形依法做了无罪的辩护。乙的辩护律师在案件的审理过程中认为乙在犯罪的过程中不满18岁,在辩护意见书中提出相应的辩护理由,其一,乙之所以未满18岁,是因为乙在出生的过程中户口本和准生证等级错误;其二,乙的毕业纪念册上记载的未成年的事实;其三,乙的叔叔是户籍民警,依法提供乙未成年的证人证言。法庭经过审查认为,乙的毕业生纪念册属于自己保管缺乏证据的证明力;户口本和准生证等级错误未有相关官方材料予以证明;乙的叔叔和乙具有直接的利害关系,证人证言的证明力较为薄弱,因此法庭最终未认定被告人乙在实施犯罪时属于未满18岁的未成年人。被害人甲的父母在案件刑事部分审理中依法提起附带民事诉讼,要求提供死亡要求死亡赔偿金、丧葬费、精神损失等相关赔偿事项,但是法院判决乙丙丁三人构成抢劫罪,乙丙因为没有证据证明他们实施的行为和甲的死亡之间存在因果关系,因此未认定乙丙构成故意伤害罪。\n现问:本案当事人乙丙对抢劫罪认罪认罚,同时两人认为自己不构成故意伤害行为,对全案可以适用认罪认罚处理吗?"},{"role": "assistant", "content": "乙丙二人涉嫌抢劫罪与故意伤害罪,二人只对抢劫认罪认罚,对故意伤害罪不认罪认罚,全案不作“认罪”的认定,不适用认罪认罚从宽制度。"}]},{"conversations": [{"role": "system", "content": "你是一个法律专家,你的回应应该准确。在完成之后,可以给你大大的奖励。请回答该问答题:"},{"role": "user", "content": "某日晚上甲正在马路上盗窃自行车,被路过的乙丙丁三人看见,随后乙丙丁为了获取钱财,把甲带到路旁的公园将甲暴打一顿,并且强行要甲给予乙丙丁三人2000元。丁因为临时接到老婆的电话离开犯罪现场,乙和丙在取得2000元财物以后才离开犯罪现场。第二天早上在公园散步的路人发现甲已经在公园里死亡,公安机关随机对案件展开立案侦查,并将嫌疑人乙丙丁抓捕到案,案件经过侦查表明,被害人甲是在前一天晚上20点-23点之间因钝器敲击致死。同时,乙丙丁三人对甲以暴力的方式强行取得甲2000元钱的犯罪事实供认不讳,并且认罪认罚。但是在法庭庭审的过程中,当事人乙丙强调他们两人在丁离开现场以后,也同步离开犯罪现场,并无对被害人甲实施故意伤害行为,当事人甲的死亡与乙丙之间不存在直接的因果关系,拒绝认罪认罚,乙丙的辩护律师也在法庭庭审过程中对本案存在事实不清,证据不足的情形依法做了无罪的辩护。乙的辩护律师在案件的审理过程中认为乙在犯罪的过程中不满18岁,在辩护意见书中提出相应的辩护理由,其一,乙之所以未满18岁,是因为乙在出生的过程中户口本和准生证等级错误;其二,乙的毕业纪念册上记载的未成年的事实;其三,乙的叔叔是户籍民警,依法提供乙未成年的证人证言。法庭经过审查认为,乙的毕业生纪念册属于自己保管缺乏证据的证明力;户口本和准生证等级错误未有相关官方材料予以证明;乙的叔叔和乙具有直接的利害关系,证人证言的证明力较为薄弱,因此法庭最终未认定被告人乙在实施犯罪时属于未满18岁的未成年人。被害人甲的父母在案件刑事部分审理中依法提起附带民事诉讼,要求提供死亡要求死亡赔偿金、丧葬费、精神损失等相关赔偿事项,但是法院判决乙丙丁三人构成抢劫罪,乙丙因为没有证据证明他们实施的行为和甲的死亡之间存在因果关系,因此未认定乙丙构成故意伤害罪。\n现问:被害人的母亲可否在案件庭审的过程中针对死亡赔偿金、丧葬费、精神损失等依法提起附带民事诉讼?"},{"role": "assistant", "content": "本案系甲的人身权利遭受侵害的犯罪,其母亲提出的赔偿丧葬费的请求能够得到法院支持,但对于死亡赔偿金的请求,法院不予支持;对于精神损失费,法院一般不予支持。"}]},{"conversations": [{"role": "system", "content": "你是一个法律专家,你的回应应该准确。在完成之后,可以给你大大的奖励。请回答该问答题:"},{"role": "user", "content": "某日晚上甲正在马路上盗窃自行车,被路过的乙丙丁三人看见,随后乙丙丁为了获取钱财,把甲带到路旁的公园将甲暴打一顿,并且强行要甲给予乙丙丁三人2000元。丁因为临时接到老婆的电话离开犯罪现场,乙和丙在取得2000元财物以后才离开犯罪现场。第二天早上在公园散步的路人发现甲已经在公园里死亡,公安机关随机对案件展开立案侦查,并将嫌疑人乙丙丁抓捕到案,案件经过侦查表明,被害人甲是在前一天晚上20点-23点之间因钝器敲击致死。同时,乙丙丁三人对甲以暴力的方式强行取得甲2000元钱的犯罪事实供认不讳,并且认罪认罚。但是在法庭庭审的过程中,当事人乙丙强调他们两人在丁离开现场以后,也同步离开犯罪现场,并无对被害人甲实施故意伤害行为,当事人甲的死亡与乙丙之间不存在直接的因果关系,拒绝认罪认罚,乙丙的辩护律师也在法庭庭审过程中对本案存在事实不清,证据不足的情形依法做了无罪的辩护。乙的辩护律师在案件的审理过程中认为乙在犯罪的过程中不满18岁,在辩护意见书中提出相应的辩护理由,其一,乙之所以未满18岁,是因为乙在出生的过程中户口本和准生证等级错误;其二,乙的毕业纪念册上记载的未成年的事实;其三,乙的叔叔是户籍民警,依法提供乙未成年的证人证言。法庭经过审查认为,乙的毕业生纪念册属于自己保管缺乏证据的证明力;户口本和准生证等级错误未有相关官方材料予以证明;乙的叔叔和乙具有直接的利害关系,证人证言的证明力较为薄弱,因此法庭最终未认定被告人乙在实施犯罪时属于未满18岁的未成年人。被害人甲的父母在案件刑事部分审理中依法提起附带民事诉讼,要求提供死亡要求死亡赔偿金、丧葬费、精神损失等相关赔偿事项,但是法院判决乙丙丁三人构成抢劫罪,乙丙因为没有证据证明他们实施的行为和甲的死亡之间存在因果关系,因此未认定乙丙构成故意伤害罪。\n现问:法院未认定被告人乙属于未成年人是否符合法律程序要求?"},{"role": "assistant", "content": "不符合法律程序要求。根据《刑事诉讼法解释》第 146 条的规定,法院应当根据户籍证明、出生证明文件、学籍卡、人口普查登记、无利害关系人的证言等证据综合判断审查被告人实施被指控的犯罪时是否达到相应法定责任年龄,且证明被告人已满十二周岁、十四周岁、十六周岁、十八周岁或者不满七十五周岁的证据不足的,应当作出有利于被告人的认定。本案中,尽管乙叔叔的证言需要其他证据才能采信,出生证明、毕业纪念册上乙的年龄存疑,但是,证明乙已满 18 周岁的证据不足,应当作出有利于被告人的认定,应认定乙是未成年人。"}]},{"conversations": [{"role": "system", "content": "你是一个法律专家,你的回应应该准确。在完成之后,可以给你大大的奖励。请回答该问答题:"},{"role": "user", "content": "某日晚上甲正在马路上盗窃自行车,被路过的乙丙丁三人看见,随后乙丙丁为了获取钱财,把甲带到路旁的公园将甲暴打一顿,并且强行要甲给予乙丙丁三人2000元。丁因为临时接到老婆的电话离开犯罪现场,乙和丙在取得2000元财物以后才离开犯罪现场。第二天早上在公园散步的路人发现甲已经在公园里死亡,公安机关随机对案件展开立案侦查,并将嫌疑人乙丙丁抓捕到案,案件经过侦查表明,被害人甲是在前一天晚上20点-23点之间因钝器敲击致死。同时,乙丙丁三人对甲以暴力的方式强行取得甲2000元钱的犯罪事实供认不讳,并且认罪认罚。但是在法庭庭审的过程中,当事人乙丙强调他们两人在丁离开现场以后,也同步离开犯罪现场,并无对被害人甲实施故意伤害行为,当事人甲的死亡与乙丙之间不存在直接的因果关系,拒绝认罪认罚,乙丙的辩护律师也在法庭庭审过程中对本案存在事实不清,证据不足的情形依法做了无罪的辩护。乙的辩护律师在案件的审理过程中认为乙在犯罪的过程中不满18岁,在辩护意见书中提出相应的辩护理由,其一,乙之所以未满18岁,是因为乙在出生的过程中户口本和准生证等级错误;其二,乙的毕业纪念册上记载的未成年的事实;其三,乙的叔叔是户籍民警,依法提供乙未成年的证人证言。法庭经过审查认为,乙的毕业生纪念册属于自己保管缺乏证据的证明力;户口本和准生证等级错误未有相关官方材料予以证明;乙的叔叔和乙具有直接的利害关系,证人证言的证明力较为薄弱,因此法庭最终未认定被告人乙在实施犯罪时属于未满18岁的未成年人。被害人甲的父母在案件刑事部分审理中依法提起附带民事诉讼,要求提供死亡要求死亡赔偿金、丧葬费、精神损失等相关赔偿事项,但是法院判决乙丙丁三人构成抢劫罪,乙丙因为没有证据证明他们实施的行为和甲的死亡之间存在因果关系,因此未认定乙丙构成故意伤害罪。\n现问:本案中法院未认定乙、丙构成故意伤害行为是否符合法律规定?"},{"role": "assistant", "content": "符合法律规定。认定被告人有罪的证明标准是犯罪事实清楚、证据确实充分。本案认定乙、丙构成故意伤害 (致人死亡)罪的证据未形成完整的证据体系,乙、丙击打甲的犯罪指控无法得到证实,而且,综合全案证据对所认定事实不能排除合理怀疑,甲可能是在二人离开公园后因为其他原因死亡。本案系事实不清、证据不足,不能认定乙、丙构成故意伤害 (致人死亡)罪。"}]},{"conversations": [{"role": "system", "content": "你是一个法律专家,你的回应应该准确。在完成之后,可以给你大大的奖励。请回答该问答题:"},{"role": "user", "content": "某日晚上甲正在马路上盗窃自行车,被路过的乙丙丁三人看见,随后乙丙丁为了获取钱财,把甲带到路旁的公园将甲暴打一顿,并且强行要甲给予乙丙丁三人2000元。丁因为临时接到老婆的电话离开犯罪现场,乙和丙在取得2000元财物以后才离开犯罪现场。第二天早上在公园散步的路人发现甲已经在公园里死亡,公安机关随机对案件展开立案侦查,并将嫌疑人乙丙丁抓捕到案,案件经过侦查表明,被害人甲是在前一天晚上20点-23点之间因钝器敲击致死。同时,乙丙丁三人对甲以暴力的方式强行取得甲2000元钱的犯罪事实供认不讳,并且认罪认罚。但是在法庭庭审的过程中,当事人乙丙强调他们两人在丁离开现场以后,也同步离开犯罪现场,并无对被害人甲实施故意伤害行为,当事人甲的死亡与乙丙之间不存在直接的因果关系,拒绝认罪认罚,乙丙的辩护律师也在法庭庭审过程中对本案存在事实不清,证据不足的情形依法做了无罪的辩护。乙的辩护律师在案件的审理过程中认为乙在犯罪的过程中不满18岁,在辩护意见书中提出相应的辩护理由,其一,乙之所以未满18岁,是因为乙在出生的过程中户口本和准生证等级错误;其二,乙的毕业纪念册上记载的未成年的事实;其三,乙的叔叔是户籍民警,依法提供乙未成年的证人证言。法庭经过审查认为,乙的毕业生纪念册属于自己保管缺乏证据的证明力;户口本和准生证等级错误未有相关官方材料予以证明;乙的叔叔和乙具有直接的利害关系,证人证言的证明力较为薄弱,因此法庭最终未认定被告人乙在实施犯罪时属于未满18岁的未成年人。被害人甲的父母在案件刑事部分审理中依法提起附带民事诉讼,要求提供死亡要求死亡赔偿金、丧葬费、精神损失等相关赔偿事项,但是法院判决乙丙丁三人构成抢劫罪,乙丙因为没有证据证明他们实施的行为和甲的死亡之间存在因果关系,因此未认定乙丙构成故意伤害罪。\n现问:如果人民法院未认定乙是未成年人,乙的法定代理人和辩护律师依法上诉到二审法院,那么二审法院应当依法如何处理?"},{"role": "assistant", "content": "第一审法院认定乙的年龄系事实不清、证据不足,第二审法院可以查清事实改判,也可以裁定撤销原判,发回第一审法院重审,第二审法院认为乙犯罪时已满 17 岁未满18岁,可以对抢劫罪做出有罪判决。"}]}] |
Beta Was this translation helpful? Give feedback.
-
我想要使用DB-GPT-HUB并使用spider数据集微调chatglm2-6b,时出现此错误 (text2sql) root@autodl-container-4154499c20-3dc1545a:~/autodl-tmp/DB-GPT-Hub# poetry run sh dbgpt_hub/scripts/train_sft.sh [INFO|modeling_utils.py:2990] 2024-05-18 14:08:28,901 >> loading weights file /root/autodl-tmp/chatglm2-6b/pytorch_model.bin.index.json Loading checkpoint shards: 100%|███████████████████████████████████████████████████████████████████████████████████████████| 7/7 [00:10<00:00, 1.5 [INFO|modeling_utils.py:3783] 2024-05-18 14:08:39,982 >> All the weights of ChatGLMForConditionalGeneration were initialized from the model checkpo /root/autodl-tmp/chatglm2-6b. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
你看看你前面验证集有没有读取成功
…------------------ 原始邮件 ------------------
发件人: ***@***.***>;
发送时间: 2024年5月21日(星期二) 下午3:28
收件人: ***@***.***>;
抄送: ***@***.***>; ***@***.***>;
主题: Re: [THUDM/ChatGLM3] 微调的各种问题 (Discussion #253)
我在跑到到eval_steps位置时就会出现下面的错误,想问一下解决方法是什么?
错误:AttributeError: 'NoneType' object has no attribute 'to'
2024-05-21.152612.png (view on web)
***** Running Evaluation *****
Num examples = 50
Batch size = 16
╭─────────────────────────────── Traceback (most recent call last)
│ /mnt/workspace/ChatGLM3/finetune_demo/finetune_hf.py:532 in main
│
│ 529 │ )
│ 530 │
│ 531 │ if auto_resume_from_checkpoint.upper() == "" or auto_resume_from_checkpoint is None: │
│ ❱ 532 │ │ trainer.train() │
│ 533 │ else: │
│ 534 │ │ output_dir = ft_config.training_args.output_dir │
│ 535 │ │ dirlist = os.listdir(output_dir) │
│ │
│ /opt/conda/envs/ChatGLM3-6b-finetunning/lib/python3.10/site-packages/transformers/trainer.py:188 │
│ 5 in train │
│ │
│ 1882 │ │ │ finally: │
│ 1883 │ │ │ │ hf_hub_utils.enable_progress_bars() │
│ 1884 │ │ else: │
│ ❱ 1885 │ │ │ return inner_training_loop( │
│ 1886 │ │ │ │ args=args, │
│ 1887 │ │ │ │ resume_from_checkpoint=resume_from_checkpoint, │
│ 1888 │ │ │ │ trial=trial, │
│ │
│ /opt/conda/envs/ChatGLM3-6b-finetunning/lib/python3.10/site-packages/transformers/trainer.py:229 │
│ 1 in _inner_training_loop │
│ │
│ 2288 │ │ │ │ │ self.state.epoch = epoch + (step + 1 + steps_skipped) / steps_in_epo │
│ 2289 │ │ │ │ │ self.control = self.callback_handler.on_step_end(args, self.state, s │
│ 2290 │ │ │ │ │ │
│ ❱ 2291 │ │ │ │ │ self._maybe_log_save_evaluate(tr_loss, grad_norm, model, trial, epoc │
│ 2292 │ │ │ │ else: │
│ 2293 │ │ │ │ │ self.control = self.callback_handler.on_substep_end(args, self.state │
│ 2294 │
│ │
│ /opt/conda/envs/ChatGLM3-6b-finetunning/lib/python3.10/site-packages/transformers/trainer.py:272 │
│ 1 in _maybe_log_save_evaluate │
│ │
│ 2718 │ │ │
│ 2719 │ │ metrics = None │
│ 2720 │ │ if self.control.should_evaluate: │
│ ❱ 2721 │ │ │ metrics = self.evaluate(ignore_keys=ignore_keys_for_eval) │
│ 2722 │ │ │ self._report_to_hp_search(trial, self.state.global_step, metrics) │
│ 2723 │ │ │ │
│ 2724 │ │ │ # Run delayed LR scheduler now that metrics are populated │
│ │
│ /opt/conda/envs/ChatGLM3-6b-finetunning/lib/python3.10/site-packages/transformers/trainer_seq2se │
│ q.py:180 in evaluate │
│ │
│ 177 │ │ # We don't want to drop samples in general │
│ 178 │ │ self.gather_function = self.accelerator.gather │
│ 179 │ │ self._gen_kwargs = gen_kwargs │
│ ❱ 180 │ │ return super().evaluate(eval_dataset, ignore_keys=ignore_keys, metric_key_prefix │
│ 181 │ │
│ 182 │ def predict( │
│ 183 │ │ self, │
│ │
│ /opt/conda/envs/ChatGLM3-6b-finetunning/lib/python3.10/site-packages/transformers/trainer.py:357 │
│ 2 in evaluate │
│ │
│ 3569 │ │ start_time = time.time() │
│ 3570 │ │ │
│ 3571 │ │ eval_loop = self.prediction_loop if self.args.use_legacy_prediction_loop else se │
│ ❱ 3572 │ │ output = eval_loop( │
│ 3573 │ │ │ eval_dataloader, │
│ 3574 │ │ │ description="Evaluation", │
│ 3575 │ │ │ # No point gathering the predictions if there are no metrics, otherwise we d │
│ │
│ /opt/conda/envs/ChatGLM3-6b-finetunning/lib/python3.10/site-packages/transformers/trainer.py:374 │
│ 7 in evaluation_loop │
│ │
│ 3744 │ │ observed_num_examples = 0 │
│ 3745 │ │ │
│ 3746 │ │ # Main evaluation loop │
│ ❱ 3747 │ │ for step, inputs in enumerate(dataloader): │
│ 3748 │ │ │ # Update the observed num examples │
│ 3749 │ │ │ observed_batch_size = find_batch_size(inputs) │
│ 3750 │ │ │ if observed_batch_size is not None: │
│ │
│ /opt/conda/envs/ChatGLM3-6b-finetunning/lib/python3.10/site-packages/accelerate/data_loader.py:4 │
│ 63 in iter │
│ │
│ 460 │ │ │ try: │
│ 461 │ │ │ │ # But we still move it to the device so it is done before `StopIteration │
│ 462 │ │ │ │ if self.device is not None: │
│ ❱ 463 │ │ │ │ │ current_batch = send_to_device(current_batch, self.device, non_block │
│ 464 │ │ │ │ next_batch = next(dataloader_iter) │
│ 465 │ │ │ │ if batch_index >= self.skip_batches: │
│ 466 │ │ │ │ │ yield current_batch │
│ │
│ /opt/conda/envs/ChatGLM3-6b-finetunning/lib/python3.10/site-packages/accelerate/utils/operations │
│ .py:158 in send_to_device │
│ │
│ 155 │ │ if is_torch_tensor(tensor) and tensor.device.type in ["mlu"] and tensor.dtype in │
│ 156 │ │ │ tensor = tensor.cpu() │
│ 157 │ │ try: │
│ ❱ 158 │ │ │ return tensor.to(device) │
│ 159 │ │ except TypeError: # .to() doesn't accept non_blocking as kwarg │
│ 160 │ │ │ return tensor.to(device) │
│ 161 │ │ except AssertionError as error: │
│ │
│ /opt/conda/envs/ChatGLM3-6b-finetunning/lib/python3.10/site-packages/transformers/tokenization_u │
│ tils_base.py:800 in to │
│ │
│ 797 │ │ # Otherwise it passes the casts down and casts the LongTensor containing the tok │
│ 798 │ │ # into a HalfTensor │
│ 799 │ │ if isinstance(device, str) or is_torch_device(device) or isinstance(device, int) │
│ ❱ 800 │ │ │ self.data = {k: v.to(device=device) for k, v in self.data.items()} │
│ 801 │ │ else: │
│ 802 │ │ │ logger.warning(f"Attempting to cast a BatchEncoding to type {str(device)}. T │
│ 803 │ │ return self │
│ │
│ /opt/conda/envs/ChatGLM3-6b-finetunning/lib/python3.10/site-packages/transformers/tokenization_u │
│ tils_base.py:800 in │
│ │
│ 797 │ │ # Otherwise it passes the casts down and casts the LongTensor containing the tok │
│ 798 │ │ # into a HalfTensor │
│ 799 │ │ if isinstance(device, str) or is_torch_device(device) or isinstance(device, int) │
│ ❱ 800 │ │ │ self.data = {k: v.to(device=device) for k, v in self.data.items()} │
│ 801 │ │ else: │
│ 802 │ │ │ logger.warning(f"Attempting to cast a BatchEncoding to type {str(device)}. T │
│ 803 │ │ return self │
╰────────────────────────────────────────────────────────────────────────────────
AttributeError: 'NoneType' object has no attribute 'to'
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
微调工具调用需要完成哪些步骤?在微调头上加上tool[],对话数据里加tool角色块;然后定义register_tool函数(这个函数需要显式调用吗);调用大模型的时候在system里加上tool列表。这3步就够了吗? |
Beta Was this translation helpful? Give feedback.
-
这是来自QQ邮箱的假期自动回复邮件。你好,我最近正在休假中,无法亲自回复你的邮件。我将在假期结束后,尽快给你回复。
|
Beta Was this translation helpful? Give feedback.
-
这是来自QQ邮箱的假期自动回复邮件。你好,我最近正在休假中,无法亲自回复你的邮件。我将在假期结束后,尽快给你回复。
|
Beta Was this translation helpful? Give feedback.
-
制作数据集时,content中的内容只能是字符串格式吗?可以用list或json等其他格式的数据吗? |
Beta Was this translation helpful? Give feedback.
-
用demo的代码进行全量微调发现储存的global_step特别大怎么办 |
Beta Was this translation helpful? Give feedback.
-
微调没有效果,还是原模型的回答 |
Beta Was this translation helpful? Give feedback.
-
这是来自QQ邮箱的假期自动回复邮件。你好,我最近正在休假中,无法亲自回复你的邮件。我将在假期结束后,尽快给你回复。
|
Beta Was this translation helpful? Give feedback.
32k跟6k微调代码一样,不支持工具,不支持代码训练