whisper v3 finetune 中文乱码问题的解决方案
最近学习了一下whisper的微调,主要是参阅了github上的夜雨漂荡大神项目。但是在操作中遇到了微调中文的时分呈现了乱码的状况。以下是我这边关于微调过程中中文呈现乱码状况的解决方案。
呈现状况如下图所示:
体系环境
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
运用conda创立的虚拟环境,第一次装置时,直接装置的最新版别的第三方库,也正是因而练习呈现了问题。再细心查看了该项意图isse后,发现大佬们也有这个问题,是经过下降库的版别完成的。
留意:transformer要运用源码进行装置
在transformer官网上找到4.36版别。拉取到我自己的服务器上,进行源码装置。
因为 peft 上没有v0.6.3.dev 版别,故下载了v0.7.0版别
以上两个库我这边都是运用源码进行装置的。
再装置完这两个库今后,再按需装置其他库。
我这边的虚拟环境的库以及对应的版别如下:
Package Version Editable project location
------------------------ ------------ ---------------------------------------------------------------
accelerate 1.1.1
aiohappyeyeballs 2.4.4
aiohttp 3.11.9
aiosignal 1.3.1
anyio 4.6.2.post1
async-timeout 5.0.1
attrs 24.2.0
audioread 3.0.1
av 14.0.0
bitsandbytes 0.41.3
certifi 2024.8.30
cffi 1.17.1
charset-normalizer 3.4.0
click 8.1.7
coloredlogs 15.0.1
ctranslate2 4.5.0
dataclasses 0.6
datasets 3.1.0
decorator 5.1.1
dill 0.3.8
evaluate 0.4.3
exceptiongroup 1.2.2
faster-whisper 1.1.0
filelock 3.16.1
flatbuffers 24.3.25
frozenlist 1.5.0
fsspec 2024.9.0
huggingface-hub 0.26.3
humanfriendly 10.0
idna 3.10
Jinja2 3.1.4
jiwer 3.0.5
joblib 1.4.2
lazy_loader 0.4
librosa 0.10.2.post1
llvmlite 0.43.0
MarkupSafe 3.0.2
mpmath 1.3.0
msgpack 1.1.0
multidict 6.1.0
multiprocess 0.70.16
networkx 3.2.1
numba 0.60.0
numpy 2.0.2
nvidia-cublas-cu12 12.4.5.8
nvidia-cuda-cupti-cu12 12.4.127
nvidia-cuda-nvrtc-cu12 12.4.127
nvidia-cuda-runtime-cu12 12.4.127
nvidia-cudnn-cu12 9.1.0.70
nvidia-cufft-cu12 11.2.1.3
nvidia-curand-cu12 10.3.5.147
nvidia-cusolver-cu12 11.6.1.9
nvidia-cusparse-cu12 12.3.1.170
nvidia-nccl-cu12 2.21.5
nvidia-nvjitlink-cu12 12.4.127
nvidia-nvtx-cu12 12.4.127
onnxruntime 1.16.3
packaging 24.2
pandas 2.2.3
peft 0.7.0 #对应的装置的源码文件地点途径
pip 24.2
platformdirs 4.3.6
pooch 1.8.2
propcache 0.2.1
protobuf 5.29.1
psutil 6.1.0
pyarrow 18.1.0
pycparser 2.22
pydub 0.25.1
python-dateutil 2.9.0.post0
pytz 2024.2
PyYAML 6.0.2
RapidFuzz 3.10.1
regex 2024.11.6
requests 2.32.3
safetensors 0.4.5
scikit-learn 1.5.2
scipy 1.13.1
setuptools 75.1.0
six 1.17.0
sniffio 1.3.1
SoundCard 0.4.3
soundfile 0.12.1
soxr 0.5.0.post1
starlette 0.41.3
sympy 1.13.1
tensorboardX 2.6.2.2
threadpoolctl 3.5.0
tokenizers 0.15.2
torch 2.5.1
tqdm 4.67.1
transformers 4.36.0 #对应的装置的源码文件地点途径
triton 3.1.0
typing_extensions 4.12.2
tzdata 2024.2
urllib3 2.2.3
wheel 0.44.0
xxhash 3.5.0
yarl 1.18.3
zhconv 1.4.3
至此环境预备结束,能够依照项目内的数据格式和要求进行预备数据了。我这边finetune后的结果是正常的。如下: