ICLR2024
[Situs web] [arxiv] [PDF]

Bisakah kita mengantisipasi tindakan aktor di masa depan (misalnya telur campuran) dengan mengetahui apa yang biasa terjadi setelah tindakannya saat ini (misalnya telur retak)? Bagaimana jika kita juga tahu tujuan jangka panjang aktor (misalnya membuat nasi goreng telur)? Kami berhipotesis bahwa Model Bahasa Besar (LLM), yang telah diatur pada data teks prosedur (misalnya resep, bagaimana-to), memiliki potensi untuk membantu LTA dari kedua perspektif. Ini dapat membantu memberikan pengetahuan sebelumnya tentang kemungkinan tindakan selanjutnya, dan menyimpulkan tujuan mengingat bagian yang diamati dari suatu prosedur, masing -masing.
Antgpt adalah kerangka kerja yang diusulkan dalam makalah kami untuk memanfaatkan LLM dalam antisipasi aksi jangka panjang berbasis video. Antgpt mencapai kinerja canggih pada tolok ukur EGO4D LTA V1 dan V2, Epic-Kitchens-55, serta Egtea Gaze+ pada saat publikasi.
Kloning repositori ini.
git clone [email protected]:brown-palm/AntGPT.git
cd AntGPTSiapkan lingkungan virtual Python (3.9). Instal Pytorch dengan versi CUDA yang tepat.
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/cu117Pasang klip.
pip install git+https://github.com/openai/CLIP.gitInstal Paket Lainnya.
pip install -r requirements.txt Instal Paket Llama-Recipe Mengikuti instruksi di sini.
Dalam percobaan kami, kami menggunakan data dari EGO4D, Epic-Kitchens-55, dan Egtea Gaze+. Untuk Epic-Kitchens-55 dan Egtea Gaze+, kami juga menggunakan anotasi data dan pemisahan ego-topo. Pertama mulai folder data di direktori root.
mkdir data Unduh EGO4D Dataset, Anotasi, dan model pretrained dari sini.
Unduh Epic-Kitchens 55 Dataset dan Annotations.
Unduh Egtea Gaze+ Dataset dari sini.
Unduh Anotasi Data dari Ego-Topo. Silakan merujuk pada instruksi mereka.
Anda dapat menemukan file praproses kami termasuk permintaan teks, fitur tujuan, dll di sini.
Diunduh dan unzip kedua folder.
Tempatkan goal_features di bawah folder data .
Tempatkan folder dataset di bawah folder Llama2_models .
Buat symlink di subfolder ICL dari folder Llama2_models .
ln -s {path_to_dataset} AntGPT/Llama2_models/ICLKami menggunakan klip untuk mengekstrak fitur dari set data ini. Anda dapat menggunakan file ekstraksi fitur di bawah transformer_models untuk mengekstrak fitur.
python -m transformer_models.generate_clip_img_embeddingKami memiliki struktur folder data seperti diilustrasikan di bawah ini. Jangan ragu untuk menggunakan pengaturan Anda sendiri dan ingat untuk menyesuaikan konfigurasi jalur yang sesuai.
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
│
...
Basis kode kami terdiri dari tiga bagian: Eksperimen Transformator, Eksperimen GPT, dan Eksperimen LLAMA2. Implementasi setiap modul terletak di folder transformer_models , GPT_models , dan folder Llama2_models masing -masing.
Anda dapat menemukan pos pemeriksaan model dan file output kami untuk EGO4D LTA di sini.
Unzip kedua folder.
Tempatkan folder ckpt di bawah subfolder llama_recipe dari folder Llama2_models .
Tempatkan folder ego4d_outputs di bawah subfolder llama_recipe dari folder Llama2_models .
Kirimkan file output ke papan peringkat.
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}Untuk menjalankan percobaan pada model transformator, silakan gunakan perintah berikut
python -m transformer_models.run --cfg transformer_models/configs/ego4d_image_pred_in8.yaml --exp_name ego4d_lta/clip_feature_in8Untuk menjalankan eksperimen GPT, silakan gunakan salah satu buku catatan ilustrasi alur kerja.
Untuk menjalankan eksperimen LLAMA2, silakan lihat instruksi di folder itu.
Makalah kami tersedia di Arxiv. Jika Anda menganggap pekerjaan kami bermanfaat, silakan pertimbangkan mengutip kami.
@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 }
}Proyek ini dirilis di bawah lisensi MIT.