Skip to content

Latest commit

 

History

History
123 lines (95 loc) · 6.66 KB

README.md

File metadata and controls

123 lines (95 loc) · 6.66 KB

llava

CONTAINERS IMAGES RUN BUILD

These are with llava-llama-2 models, however llava-1.5 is now the latest and can be use instead.

llava-llama-2-7b-chat

This is a LoRA applied to the original llama-2-7b-chat model, hence you need to request access and provide your HuggingFace token (or use SaffalPoosh/llava-llama-2-7B-merged instead)

./run.sh --env HUGGING_FACE_HUB_TOKEN=<YOUR-ACCESS-TOKEN> $(./autotag llava) \
  python3 -m llava.serve.cli \
    --model-path liuhaotian/llava-llama-2-7b-chat-lightning-lora-preview \
    --model-base meta-llama/Llama-2-7b-chat-hf \
    --image-file /data/images/hoover.jpg
USER: what does the road sign say?
ASSISTANT: The road sign says "Hoover Dam."

USER: how far away is the exit?
ASSISTANT: The exit is 1 mile away.

USER: what is the environment like?
ASSISTANT: The environment is desert-like, with a rocky landscape and a dirt road leading to the exit.

llava-llama-2-13b-chat

./run.sh $(./autotag llava) \
  python3 -m llava.serve.cli \
    --model-path liuhaotian/llava-llama-2-13b-chat-lightning-preview \
    --image-file /data/images/hoover.jpg
USER: what does the text in the road sign say?
ASSISTANT: The text in the road sign says "Hoover Dam Exit 2 Mile."

USER: How far away is the exit?
ASSISTANT: The exit is two miles away from the current location.

USER: What kind of environment is it?
ASSISTANT: The environment is a desert setting, with a mountain in the background.
CONTAINERS
llava
   Builds llava_jp60 llava_jp51
   Requires L4T >=34.1.0
   Dependencies build-essential cuda cudnn python tensorrt numpy cmake onnx pytorch torchvision huggingface_hub rust transformers
   Dockerfile Dockerfile
   Images dustynv/llava:r35.2.1 (2023-12-15, 6.3GB)
dustynv/llava:r35.3.1 (2023-12-12, 6.3GB)
dustynv/llava:r35.4.1 (2023-12-14, 6.3GB)
dustynv/llava:r36.2.0 (2023-12-18, 8.0GB)
CONTAINER IMAGES
Repository/Tag Date Arch Size
  dustynv/llava:r35.2.1 2023-12-15 arm64 6.3GB
  dustynv/llava:r35.3.1 2023-12-12 arm64 6.3GB
  dustynv/llava:r35.4.1 2023-12-14 arm64 6.3GB
  dustynv/llava:r36.2.0 2023-12-18 arm64 8.0GB

Container images are compatible with other minor versions of JetPack/L4T:
    • L4T R32.7 containers can run on other versions of L4T R32.7 (JetPack 4.6+)
    • L4T R35.x containers can run on other versions of L4T R35.x (JetPack 5.1+)

RUN CONTAINER

To start the container, you can use the run.sh/autotag helpers or manually put together a docker run command:

# automatically pull or build a compatible container image
./run.sh $(./autotag llava)

# or explicitly specify one of the container images above
./run.sh dustynv/llava:r36.2.0

# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host dustynv/llava:r36.2.0

run.sh forwards arguments to docker run with some defaults added (like --runtime nvidia, mounts a /data cache, and detects devices)
autotag finds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.

To mount your own directories into the container, use the -v or --volume flags:

./run.sh -v /path/on/host:/path/in/container $(./autotag llava)

To launch the container running a command, as opposed to an interactive shell:

./run.sh $(./autotag llava) my_app --abc xyz

You can pass any options to run.sh that you would to docker run, and it'll print out the full command that it constructs before executing it.

BUILD CONTAINER

If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:

./build.sh llava

The dependencies from above will be built into the container, and it'll be tested during. See ./build.sh --help for build options.