ICLR2024
[เว็บไซต์] [arxiv] [PDF]

เราสามารถคาดการณ์การกระทำในอนาคตของนักแสดงได้ดีขึ้น (เช่นผสมไข่) โดยรู้ว่าเกิดอะไรขึ้นหลังจากการกระทำในปัจจุบันของเขา/เธอ (เช่นไข่แคร็ก)? ถ้าเรารู้เป้าหมายระยะยาวของนักแสดง (เช่นการทำข้าวผัดไข่) เราตั้งสมมติฐานว่าแบบจำลองภาษาขนาดใหญ่ (LLMS) ซึ่งได้รับการปรับแต่งเกี่ยวกับข้อมูลข้อความขั้นตอน (เช่นสูตรอาหารวิธีการ) มีศักยภาพที่จะช่วย LTA จากมุมมองทั้งสอง มันสามารถช่วยให้ความรู้ก่อนหน้านี้เกี่ยวกับการกระทำต่อไปที่เป็นไปได้และอนุมานเป้าหมายที่ได้รับส่วนหนึ่งของขั้นตอนที่สังเกตได้ตามลำดับ
ANTGPT เป็นกรอบที่เสนอในกระดาษของเราเพื่อใช้ประโยชน์จาก LLM ในการคาดการณ์การกระทำระยะยาวที่ใช้วิดีโอ ANTGPT บรรลุประสิทธิภาพที่ล้ำสมัยบนเกณฑ์มาตรฐาน EGO4D LTA V1 และ V2, Epic-Kitchens-55 รวมถึง Egtea Gaze+ ตามเวลาที่ตีพิมพ์
โคลนที่เก็บนี้
git clone [email protected]:brown-palm/AntGPT.git
cd AntGPTตั้งค่า Python (3.9) สภาพแวดล้อมเสมือนจริง ติดตั้ง pytorch ด้วยรุ่น CUDA ที่ถูกต้อง
python3 -m venv venv/forecasting
source venv/forecasting/bin/activate
pip install torch==2.0.0+cu117 torchvision==0.15.1+cu117 torchaudio==2.0.1 --extra-index-url https://download.pytorch.org/whl/cu117ติดตั้งคลิป
pip install git+https://github.com/openai/CLIP.gitติดตั้งแพ็คเกจอื่น ๆ
pip install -r requirements.txt ติดตั้งแพ็คเกจ Llama-Recipe ตามคำแนะนำที่นี่
ในการทดลองของเราเราใช้ข้อมูลจาก EGO4D, Epic-Kitchens-55 และ Egtea Gaze+ สำหรับ Epic-Kitchens-55 และ Egtea Gaze+เรายังใช้คำอธิบายประกอบข้อมูลและการแยกของ ego-topo ก่อนอื่นเริ่มโฟลเดอร์ข้อมูลในไดเรกทอรีรูท
mkdir data ดาวน์โหลดชุดข้อมูล EGO4D คำอธิบายประกอบและโมเดลที่ได้รับการฝึกฝนจากที่นี่
ดาวน์โหลดชุดข้อมูล Epic-Kitchens 55 และคำอธิบายประกอบ
ดาวน์โหลด Egtea Gaze+ ชุดข้อมูลจากที่นี่
ดาวน์โหลดคำอธิบายประกอบข้อมูลจาก Ego-Topo โปรดดูคำแนะนำของพวกเขา
คุณสามารถค้นหาไฟล์ที่ประมวลผลล่วงหน้าของเรารวมถึงข้อความแจ้งข้อความคุณสมบัติเป้าหมาย ฯลฯ ที่นี่
ดาวน์โหลดและคลายซิปทั้งสองโฟลเดอร์
วาง goal_features ภายใต้โฟลเดอร์ data
วางโฟลเดอร์ dataset ภายใต้โฟลเดอร์ Llama2_models
สร้าง Symlink ในโฟลเดอร์ย่อย ICL ของโฟลเดอร์ Llama2_models
ln -s {path_to_dataset} AntGPT/Llama2_models/ICLเราใช้คลิปเพื่อแยกคุณสมบัติจากชุดข้อมูลเหล่านี้ คุณสามารถใช้ไฟล์สกัดฟีเจอร์ภายใต้ transformer_models เพื่อแยกคุณสมบัติ
python -m transformer_models.generate_clip_img_embeddingเรามีโครงสร้างโฟลเดอร์ข้อมูลดังที่แสดงด้านล่าง อย่าลังเลที่จะใช้การตั้งค่าของคุณเองและอย่าลืมปรับเส้นทางการกำหนดค่าตามนั้น
data
├── ego4d
│ └── annotations
| │ ├── fho_lta_taxonomy.json
| │ ├── fho_test_unannotated.json
│ │ ├── ...
│ │
│ └── clips
│ ├── 0a7a74bf-1564-41dc-a516-f5f1fa7f75d1.mp4
│ ├── 0a975e6e-4b13-426d-be5f-0ef99b123358.mp4
│ ├── ...
│
├── ek
│ └── annotations
| │ ├── EPIC_many_shot_verbs.csv
│ │ ├── ...
│ │
│ └── clips
│ ├── rgb
│ ├── obj
│ └── flow
│
├── gaze
│ └── annotations
| │ ├── action_list_t+v.csv
│ │ ├── ...
│ │
│ └── clips
│ ├── OP01-R01-PastaSalad.mp4
│ ├── ...
│
├── goal_features
│ ├── ego4d_feature_gt_val.pkl
│ ├── ...
│
├── output_CLIP_img_embedding_ego4d
│
...
Codebase ของเราประกอบด้วยสามส่วน: การทดลองของหม้อแปลงการทดลอง GPT และการทดลอง LLAMA2 การใช้งานของแต่ละโมดูลอยู่ในโฟลเดอร์ transformer_models , GPT_models และโฟลเดอร์ Llama2_models ตามลำดับ
คุณสามารถค้นหาจุดตรวจสอบโมเดลและไฟล์เอาต์พุตสำหรับ EGO4D LTA ได้ที่นี่
เปิดเครื่องซิปทั้งสองโฟลเดอร์
วางโฟลเดอร์ ckpt ไว้ใต้โฟลเดอร์ย่อย llama_recipe ของโฟลเดอร์ Llama2_models
วางโฟลเดอร์ ego4d_outputs ไว้ใต้โฟลเดอร์ย่อย llama_recipe ของโฟลเดอร์ Llama2_models
ส่งไฟล์เอาท์พุทไปยังกระดานผู้นำ
cd Llama2_models/Finetune/llama-recipesCUDA_VISIBLE_DEVICES=0 python inference/inference_lta.py --model_name {your llama checkpoint path} --peft_model {pretrained model path} --prompt_file ../dataset/test_nseg8_recog_egovlp.jsonl --response_path {output file path}ในการเรียกใช้การทดลองในรุ่นหม้อแปลงโปรดใช้คำสั่งต่อไปนี้
python -m transformer_models.run --cfg transformer_models/configs/ego4d_image_pred_in8.yaml --exp_name ego4d_lta/clip_feature_in8ในการเรียกใช้การทดลอง GPT โปรดใช้หนึ่งในสมุดบันทึกภาพประกอบเวิร์กโฟลว์
ในการเรียกใช้การทดลอง LLAMA2 โปรดดูคำแนะนำในโฟลเดอร์นั้น
กระดาษของเรามีอยู่ใน arxiv หากคุณพบว่างานของเรามีประโยชน์โปรดพิจารณาอ้างเรา
@article { zhao2023antgpt ,
title = { AntGPT: Can Large Language Models Help Long-term Action Anticipation from Videos? } ,
author = { Qi Zhao and Shijie Wang and Ce Zhang and Changcheng Fu and Minh Quan Do and Nakul Agarwal and Kwonjoon Lee and Chen Sun } ,
journal = { ICLR } ,
year = { 2024 }
}โครงการนี้เปิดตัวภายใต้ใบอนุญาต MIT