CTranslate2 在导出bloomz模型时出现异常,

2ekbmq32  于 2个月前  发布在  其他
关注(0)|答案(2)|浏览(39)

操作系统:Ubuntu 22.04.2,Python 3.10.6,CTranslate2 3.16。
在使用以下命令导出bigscience/bloomz模型时:

  • ct2-transformers-converter --force --model bigscience/bloomz --output_dir bloomz --quantization float16*

转换过程对于其他bloom模型(如bloomz-7b1)运行良好。
错误:
Traceback (most recent call last):
文件 "/home/ubuntu/bloom-ctranslate2/generate/python3-env/bin/ct2-transformers-converter",第8行,在 sys.exit(main())
文件 "/home/ubuntu/bloom-ctranslate2/generate/python3-env/lib/python3.10/site-packages/ctranslate2/converters/transformers.py",第1577行,在 main()函数中
converter.convert_from_args(args)
文件 "/home/ubuntu/bloom-ctranslate2/generate/python3-env/lib/python3.10/site-packages/ctranslate2/converters/converter.py",第50行,在 convert_from_args()函数中
return self.convert(
文件 "/home/ubuntu/bloom-ctranslate2/generate/python3-env/lib/python3.10/site-packages/ctranslate2/converters/converter.py",第104行,在 convert()函数中
model_spec.save(output_dir)
文件 "/home/ubuntu/bloom-ctranslate2/generate/python3-env/lib/python3.10/site-packages/ctranslate2/specs/model_spec.py",第571行,在 save()函数中
super().save(output_dir)
文件 "/home/ubuntu/bloom-ctranslate2/generate/python3-env/lib/python3.10/site-packages/ctranslate2/specs/model_spec.py",第324行,在 save()函数中
self._serialize(os.path.join(output_dir, "model.bin"))
文件 "/home/ubuntu/bloom-ctranslate2/generate/python3-env/lib/python3.10/site-packages/ctranslate2/specs/model_spec.py",第363行,在 _serialize()函数中

model.write(struct.pack("I", value.nbytes))

struct.error: 'I' format requires 0 <= number <= 4294967295**

r3i60tvu

r3i60tvu1#

Bloomz有176B参数,而CTranslate2目前并不支持这些大型模型。
这个错误意味着权重使用的字节数无法用32位整数表示。
这并不是这些模型的唯一问题。还需要进行一些功能性更改,例如在多个GPU上拆分模型(参见#1052)。

myss37ts

myss37ts2#

关于这个,有什么更新吗?CTranslate2现在是否支持没有量化的更大模型?

相关问题