Mono
Mono de texto
Mini mono
2024.11.27
? Gracias a Fahd Mirza por compartir un vídeo sobre cómo ejecutar Monkey.
2024.8.13
? Se publica el código fuente de Mini-Monkey.
2024.8.6
? Soltamos el Mini-Mono de papel.
2024.4.13
? Se publica el código fuente de TextMonkey.
2024.4.5
? Monkey está nominado como artículo destacado de CVPR 2024.
2024.3.8
? Lanzamos el papel TextMonkey.
2024.2.27
? El mono es aceptado por CVPR 2024.
2024.1.3
? Libere la canalización básica de generación de datos. Generación de datos
2023.11.06
? Soltamos el Mono de papel.
Chat de mono
Modelo | Modelo de lenguaje | Transformadores (HF) | Prueba de banco MM | Banco CC | MME | Banco de semillas_IMG | MathVista-MiniTest | HalllusionBench-Promedio | Prueba AI2D | OCRBanco |
---|---|---|---|---|---|---|---|---|---|---|
Chat de mono | Qwev-7B | ?echo840/Monkey-Chat | 72,4 | 48 | 1887.4 | 68,9 | 34,8 | 39.3 | 68,5 | 534 |
Mini mono | internolm2-chat-1_8b | Mini mono | --- | 75,5 | 1881.9 | 71.3 | 47.3 | 38,7 | 74,7 | 802 |
conda crear -n mono python=3.9conda activar monogit clon https://github.com/Yuliang-Liu/Monkey.gitcd ./Monkeypip install -r requisitos.txt
Puede descargar la versión correspondiente de flash_attention desde https://github.com/Dao-AILab/flash-attention/releases/ y usar el siguiente código para instalar:
pip install flash_attn-2.3.5+cu117torch2.0cxx11abiFALSE-cp39-cp39-linux_x86_64.whl --sin-aislamiento de compilación
También ofrecemos la definición del modelo y el código de entrenamiento de Monkey, que puede explorar arriba. Puede ejecutar el código de entrenamiento ejecutando finetune_ds_debug.sh
para Monkey y finetune_textmonkey.sh
para TextMonkey.
El archivo json utilizado para el entrenamiento de Monkey se puede descargar en Link.
Ejecute el código de inferencia para Monkey y Monkey-Chat:
python ./inference.py --model_path MODEL_PATH --image_path IMAGE_PATH --question "YOUR_QUESTION"
La demostración es rápida y fácil de usar. Simplemente cargue una imagen desde su escritorio o teléfono, o capture una directamente. Demo_chat también se lanza como una versión mejorada de la demostración original para ofrecer una experiencia interactiva mejorada.
También proporcionamos el código fuente y el peso del modelo para la demostración original, lo que le permite personalizar ciertos parámetros para una experiencia más exclusiva. Las operaciones específicas son las siguientes:
Asegúrese de haber configurado el entorno.
Puede optar por utilizar la demostración sin conexión o en línea:
Desconectado:
python demo.py
Descargue el peso del modelo.
Modifique DEFAULT_CKPT_PATH="pathto/Monkey"
en el archivo demo.py
a la ruta de peso de su modelo.
Ejecute la demostración usando el siguiente comando:
En línea:
python demo.py -c echo840/Monkey
Ejecute la demostración y descargue los pesos modelo en línea con el siguiente comando:
Para TextMonkey, puede descargar el peso del modelo desde Model Weight y ejecutar el código de demostración:
python demo_textmonkey.py -c ruta_modelo
Antes del 11/14/2023, observamos que para algunas imágenes aleatorias, Monkey puede lograr resultados más precisos que GPT4V.
Antes del 31/1/2024, Monkey-chat alcanzó el quinto puesto en la categoría Modelo multimodal en OpenCompass.
Puede descargar los datos de entrenamiento y pruebas utilizados por mono desde Monkey_Data.
El archivo json utilizado para el entrenamiento de Monkey se puede descargar en Link.
Los datos de nuestro método de generación de descripciones de varios niveles ahora son de código abierto y están disponibles para descargar en Link. Ya subimos las imágenes utilizadas en la descripción multinivel. Ejemplos:
Puedes descargar imágenes de trenes de Monkey from Train. Código de extracción: 4hdh
Puede descargar imágenes de prueba y jsonls de Monkey desde Test. Código de extracción: 5h71
Las imágenes son de CC3M, COCO Caption, TextCaps, VQAV2, OKVQA, GQA, ScienceQA, VizWiz, TextVQA, OCRVQA, ESTVQA, STVQA, AI2D y DUE_Benchmark. Al utilizar los datos, es necesario cumplir con los protocolos del conjunto de datos original.
Ofrecemos código de evaluación para 14 conjuntos de datos de respuesta visual a preguntas (VQA) en el archivo evaluate_vqa.py
, lo que facilita una verificación rápida de los resultados. Las operaciones específicas son las siguientes:
Asegúrese de haber configurado el entorno.
Modifique sys.path.append("pathto/Monkey")
a la ruta del proyecto.
Prepare los conjuntos de datos necesarios para la evaluación.
Ejecute el código de evaluación.
Tome ESTVQA como ejemplo:
Prepare los datos de acuerdo con la siguiente estructura de directorios:
├── data | ├── estvqa | ├── test_image | ├── {image_path0} | ├── {image_path1} | · | · | ├── estvqa.jsonl
Ejemplo del formato de cada línea del archivo .jsonl
anotado:
{"image": "data/estvqa/test_image/011364.jpg", "question": "What is this store?", "answer": "pizzeria", "question_id": 0}
Modificar el diccionario ds_collections
:
ds_collections = { 'estvqa_test': { 'test': 'data/estvqa/estvqa.jsonl', 'metric': 'anls', 'max_new_tokens': 100, }, ... }
Ejecute el siguiente comando:
bash eval/eval.sh 'EVAL_PTH' 'SAVE_NAME'
Si desea consultar los resultados de referencia publicados aquí, utilice las siguientes entradas BibTeX:
@inproceedings{li2023monkey, title={Mono: la resolución de la imagen y la etiqueta del texto son elementos importantes para los modelos multimodales grandes}, autor={Li, Zhang y Yang, Biao y Liu, Qiang y Ma, Zhiyin y Zhang, Shuo y Yang , Jingxu y Sun, Yabo y Liu, Yuliang y Bai, Xiang}, booktitle={actas de la conferencia IEEE/CVF sobre visión por computadora y reconocimiento de patrones}, año={2024}}@article{liu2024textmonkey, title={TextMonkey: un modelo multimodal grande sin OCR para comprender documentos}, autor={Liu, Yuliang y Yang, Biao y Liu, Qiang y Li, Zhang y Ma, Zhiyin y Zhang, Shuo y Bai, Xiang}, diario={arXiv preprint arXiv:2403.04473}, año={2024}}@article{huang2024mini, title={Mini-Monkey: Recorte adaptativo a múltiples escalas para modelos multimodales de lenguaje grande}, autor={Huang, Mingxin y Liu, Yuliang y Liang, Dingkang y Jin, Lianwen y Bai , Xiang}, diario={arXiv preprint arXiv:2408.02034}, año={2024}}@artículo{deng2024r, título={R-CoT: Generación de problemas de cadena de pensamiento inversa para el razonamiento geométrico en grandes modelos multimodales}, autor={Deng, Linger y Liu, Yuliang y Li, Bohan y Luo, Dongliang y Wu, Liang y Zhang, Chengquan y Lyu, Pengyuan y Zhang, Ziyang y Zhang, Gang y Ding, Errui y otros}, diario={arXiv preimpresión arXiv:2410.17885}, año={2024}}
La serie Monkey se centra principalmente en la exploración de técnicas como la mejora de la resolución de la imagen y los métodos de compresión de tokens para mejorar el rendimiento de los grandes modelos multimodales existentes. Por ejemplo, las versiones anteriores de Monkey y TextMonkey se basaban en QwenVL, mientras que MiniMonkey se basa en InternVL2 y miniCPM, entre otros. Gracias a Qwen-VL, LLAMA, LLaVA, OpenCompass, InternLM e InternVL.
El proyecto Monkey está destinado únicamente para uso no comercial. Para consultas comerciales o para explorar versiones más avanzadas de los LMM de la serie Monkey (<1b, 2b, 7b, 72b), comuníquese con el Prof. Yuliang Liu en [email protected].