Llava вчиться створювати структурований вихід, але вміст є неточним

Я хочу використовувати Llava для автоматичного позначення свого набору даних зображень. Результат маркування має бути JSON з певною інформацією, напр. {'animal_list': ['dog', 'cat'], 'image_quality': 'blurred', ...}. Я вручну позначив кілька сотень зображень за допомогою потрібної схеми та створив набір даних за допомогою описаного формату тут. Зокрема, людське повідомлення завжди те саме:

Опишіть наступне зображення, взяте з […], зосереджуючись на […]. Використовуйте таку схему: GT_SCHEMA

, де GT_SCHEMA — бажана схема JSON, а повідомлення gpt — вихід JSON. Я навчив Llava 1.6 за допомогою LoRA (скрипт навчання в кінці).

Модель навчилася надавати відповідь у потрібному форматі JSON. Однак вихідні дані часто є неточними (наприклад, animal_list не містить тварин на зображенні). Я перевірив, чи здатна базова модель ідентифікувати всі елементи, які мені потрібні, коли я надсилаю запит із безкоштовним описом, тому проблема полягає в точному налаштуванні цього формату. Як я можу підвищити точність структурованого маркування?

#!/bin/bash

export DATA_PATH=/home/ubuntu/data/structured
export IMG_PATH=/home/ubuntu/data/structured
export OUTPUT_DIR=/home/ubuntu/models/llava-v1.6-vicuna-13b-lora

deepspeed llava/train/train_mem.py 
    --lora_enable Правда --lora_r 16 --lora_alpha 16 --mm_projector_lr 1e-5 
    --deepspeed ./scripts/zero3_offload.json 
    --model_name_or_path liuhaotian/llava-v1.6-vicuna-13b 
    --версія v1 
    --data_path $DATA_PATH/набір даних 
    --image_folder $IMG_PATH 
    --vision_tower openai/clip-vit-large-patch14-336 
    --mm_projector_type mlp2x_gelu 
    --mm_vision_select_layer -2 
    --mm_use_im_start_end False 
    --mm_use_im_patch_token False 
    --image_aspect_ratio панель 
    --group_by_modality_length True 
    --bf16 Правда 
    --output_dir $OUTPUT_DIR 
    --num_train_epochs 3 
    --per_device_train_batch_size 4 
    --per_device_eval_batch_size 4 
    --gradient_accumulation_steps 1 
    --evaluation_strategy "ні" 
    --save_strategy "кроки" 
    --save_steps 80 
    --save_total_limit 3 
    --learning_rate 2e-4 
    --weight_decay 0. 
    --warmup_ratio 0,03 
    --lr_scheduler_type "косинус" 
    --logging_steps 1 
    --tf32 Правда 
    --model_max_length 2048 
    --gradient_checkpointing Правда 
    --dataloader_num_workers 4 
    --lazy_preprocess Правда 
    --report_to wandb

Previous Article

Чи правильно Ви вживаєте неофіційні форми імен? Як часто зустрічаєте не правильне вживання неофіційних форм?

Next Article

Що це за накип у моїй каві

Write a Comment

Leave a Comment

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *