Combate real del despliegue de MiniGPT-4

Resumen

Minigpt4, que afirma ser capaz de alcanzar el 90 % de las capacidades de chatgpt, ¡es de código abierto! ¡Este artículo le muestra cómo implementar minigpt4, usando 13B como ejemplo!

código de descarga

Enlace GitHub:

https://github.com/Vision-CAIR/MiniGPT-4

Descárgalo y descomprímelo. Luego construye el entorno.

Entorno de instalación

Puede ejecutarlo directamente environment.ymlpara crear un entorno virtual. Ejecutando una orden:

conda env create  name environment_name -f environment.yml

Environment_name hace referencia al nombre del entorno virtual.
inserte la descripción de la imagen aquí
Si le preocupa que la versión de pytorch no sea compatible con la versión local de cuda, puede crearla manualmente. Esta es la forma en que yo uso:

conda create --name gpt python=3.9

Luego, busque la versión de pytorch adecuada, instálela en el entorno virtual creado anteriormente y ejecute el comando:

conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.7 -c pytorch -c nvidia

Luego, saque la parte pip de environment.yml, cree un nuevo requirements.txt y colóquelo. El contenido completo:

accelerate==0.16.0
aiohttp==3.8.4
aiosignal==1.3.1
async-timeout==4.0.2
attrs==22.2.0
bitsandbytes==0.37.0
cchardet==2.1.7
chardet==5.1.0
contourpy==1.0.7
cycler==0.11.0
filelock==3.9.0
fonttools==4.38.0
frozenlist==1.3.3
huggingface-hub==0.13.4
importlib-resources==5.12.0
kiwisolver==1.4.4
matplotlib==3.7.0
multidict==6.0.4
openai==0.27.0
packaging==23.0
psutil==5.9.4
pycocotools==2.0.6
pyparsing==3.0.9
python-dateutil==2.8.2
pyyaml==6.0
regex==2022.10.31
tokenizers==0.13.2
tqdm==4.64.1
transformers==4.28.0
timm==0.6.13
spacy==3.5.1
webdataset==0.2.48
scikit-learn==1.2.2
scipy==1.10.1
yarl==1.8.2
zipp==3.14.0
omegaconf==2.3.0
opencv-python==4.7.0.72
iopath==0.1.10
decord==0.6.0
tenacity==8.2.2
peft
pycocoevalcap
sentence-transformers
umap-learn
notebook
gradio==3.24.1
gradio-client==0.0.8
wandb

Intente construir el entorno de acuerdo con la versión anterior, de lo contrario, es propenso a varios problemas extraños.

descargar modelo

modelo vicuña https://huggingface.co/lmsys
inserte la descripción de la imagen aquí
modelo vicuña, se recomienda descargar la versión v1.1. ¡Las dimensiones de las versiones anterior y nueva son inconsistentes!

LLaMA:https://huggingface.co/decapoda-research
inserte la descripción de la imagen aquí

Los modelos LLaMA y vicuña siguen siendo los mismos, si se selecciona 13B, ambos modelos usan 13B.

conversión de modelo

Para la conversión de modelos, la biblioteca requerida FastChat, enlace de github: https://github.com/lm-sys/FastChat
método de instalación:

git clone https://github.com/lm-sys/FastChat.git
cd FastChat
pip install --upgrade pip  # enable PEP 660 support
pip install -e .

Cree una nueva carpeta LLAMA en el directorio raíz de FastChat y coloque el modelo llama descargado y el modelo icunb en la carpeta LLAMA.
Ejecute el comando después de que se complete la instalación:

python -m fastchat.model.apply_delta --base LLAMA/llama-13b-hf --target LLAMA/vicuna-13b --delta LLAMA/vicuna-13b-delta-v1.1

La conversión está completa. Nota: La conversión consume mucha memoria y los requisitos de configuración de la máquina son relativamente altos.

Una vez completada la conversión, cree una nueva carpeta de pesos en el directorio raíz de MiniGPT4 y coloque la carpeta del modelo convertido en ella.

Descarga el archivo de pesos minigpt4

Hay dos, uno es 13B y el otro es 7B.

Puesto de Control Alineado con Vicuña 13B Puesto de Control Alineado con Vicuña 7B
Descargar Descargar
Todos están en el disco de red de Gongle, hay impotencia y alguien ha compartido el archivo de peso, el enlace: https://huggingface.co/wangrongsheng

inserte la descripción de la imagen aquí
Enlace específico:

# 13B
https://huggingface.co/wangrongsheng/MiniGPT4/tree/main
# 7B
https://huggingface.co/wangrongsheng/MiniGPT4-7B/tree/main

Por supuesto, también hay modelos convertidos, enlace:

# 13B
https://huggingface.co/wangrongsheng/MiniGPT-4-LLaMA/tree/main
#7B
https://huggingface.co/wangrongsheng/MiniGPT-4-LLaMA-7B/tree/main

¡El jefe Rongsheng es tan considerado! ! !

configuración

La ruta al minigpt4 modificado eval_configs/minigpt4_eval.yaml.

 ckpt: './weights/pretrained_minigpt4.pth'

inserte la descripción de la imagen aquí
Modifique minigpt4/configs/models/minigpt4.yamlel archivo , modifique llama_model al directorio del modelo convertido.

inserte la descripción de la imagen aquí

correr

python demo.py --cfg-path eval_configs/minigpt4_eval.yaml  --gpu-id 0

inserte la descripción de la imagen aquí

pregunta

RuntimeError: el tamaño del tensor a (32000) debe coincidir con el tamaño del tensor b
(32001) en la dimensión 0 no singleton

Causa:
La versión de fastchat no es compatible con la versión del modelo

Solución:
reemplace vicuna-7b-delta-v0 con la versión vicuna-7b-delta-v1.1,

Se puede convertir después de cambiar a la versión 1.1.
Ejecutando una orden:

python -m fastchat.model.apply_delta --base LLAMA/llama-13b-hf --target LLAMA/vicuna-13b --delta LLAMA/vicuna-13b-delta-v1.1

inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/m0_47867638/article/details/131196532
Recomendado
Clasificación