ICLR2024
[Website] [ARXIV] [PDF]

Können wir die zukünftigen Aktionen eines Schauspielers (z. B. Eier mischen) erwarten, indem wir wissen, was nach seiner aktuellen Aktion (z. B. Eier Crack Eggs) häufig vorkommt? Was ist, wenn wir auch das längerfristige Ziel des Schauspielers kennen (z. B. Eiergebratener Reis machen)? Wir nehmen an, dass große Sprachmodelle (LLMs), die in Prozedur-Textdaten (z. B. Rezepte, How-TOS) vorbereitet wurden, das Potenzial haben, LTA aus beiden Perspektiven zu helfen. Es kann dazu beitragen, das Vorwissen über die möglichen nächsten Handlungen zu vermitteln und das Ziel angesichts des beobachteten Teils eines Verfahrens zu schließen.
AntGPT ist der vorgeschlagene Rahmen in unserer Arbeit, um LLMs in Video-basierten langfristigen Aktionen zu nutzen. Antgpt erzielt eine modernste Leistung der EGO4D LTA V1- und V2-Benchmarks, Epic-Kitchens-55 sowie zum Zeitpunkt der Veröffentlichung.
Klonen Sie dieses Repository.
git clone [email protected]:brown-palm/AntGPT.git
cd AntGPTRichten Sie die virtuelle Umgebung von Python (3.9) ein. Installieren Sie Pytorch mit der richtigen CUDA -Version.
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/cu117Clip installieren.
pip install git+https://github.com/openai/CLIP.gitInstallieren Sie andere Pakete.
pip install -r requirements.txt Installieren Sie hier nach Anweisungen LLAMA-Rezeptpakete.
In unseren Experimenten verwendeten wir Daten aus EGO4D, Epic-Kitchens-55 und Egtea Gaze+. Für Epic-Kitchens-55 und Egtea Gaze+verwendeten wir auch die Datenanmerkungen und Splits von Ego-Topo. Starten Sie zuerst einen Datenordner im Stammverzeichnis.
mkdir data Download EGO4D -Datensatz, Anmerkungen und vorgefertigte Modelle von hier.
Laden Sie Epic-Kitchens 55 Datensatz und Annotationen herunter.
Laden Sie hier den EGTEA -Blick+ Datensatz herunter.
Laden Sie Datenanmerkungen von Ego-Topo herunter. Bitte beachten Sie ihre Anweisungen.
Hier finden Sie unsere vorverarbeitete Datei, einschließlich Texteingabeaufforderungen, Zielfunktionen usw.
Beide Ordner heruntergeladen und entpacken Sie.
Platzieren Sie das goal_features im data .
Platzieren Sie den dataset im Ordner Llama2_models .
Machen Sie einen Symlink im ICL -Unterordner des Ordners Llama2_models .
ln -s {path_to_dataset} AntGPT/Llama2_models/ICLWir haben Clips verwendet, um Funktionen aus diesen Datensätzen zu extrahieren. Sie können die Featurextraktionsdatei unter Transformator_Models verwenden, um die Funktionen zu extrahieren.
python -m transformer_models.generate_clip_img_embeddingWir haben eine Datenordnerstruktur, wie unten dargestellt. Verwenden Sie Ihre eigene Setup und denken Sie daran, die Pfadkonfigurationen entsprechend anzupassen.
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
│
...
Unsere Codebasis besteht aus drei Teilen: den Transformator -Experimenten, den GPT -Experimenten und den LLAMA2 -Experimenten. Die Implementierung der einzelnen Module befindet sich im Ordner transformer_models Ordner, GPT_models bzw. Llama2_models .
Hier finden Sie unsere Modell -Checkpoints und Ausgabedateien für EGO4D LTA.
Beide Ordner entpacken.
Platzieren Sie den ckpt -Ordner unter den Subordner des llama_recipe des Ordners Llama2_models .
Platzieren Sie den Ordner ego4d_outputs unter den Subdoler llama_recipe des Ordners Llama2_models .
Senden Sie die Ausgabedateien an Bohrlochboard.
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}Um ein Experiment mit den Transformatormodellen durchzuführen, verwenden Sie bitte den folgenden Befehl
python -m transformer_models.run --cfg transformer_models/configs/ego4d_image_pred_in8.yaml --exp_name ego4d_lta/clip_feature_in8Um ein GPT -Experiment durchzuführen, verwenden Sie bitte eines der Workflow -Illustrations -Notizbücher.
Um ein LLAMA2 -Experiment durchzuführen, lesen Sie bitte die Anweisungen in diesem Ordner.
Unser Papier ist auf Arxiv erhältlich. Wenn Sie unsere Arbeit nützlich finden, sollten Sie uns angeben.
@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 }
}Dieses Projekt wird unter der MIT -Lizenz veröffentlicht.