Downloads · 30 days
811
10% of all-time downloads
yujiepan/llama-3.2-vision-tiny-random
llama-3.2-vision-tiny-random is a text generation model from yujiepan. Use it when you need the model to write or continue text. It is set up for transformers.
This model is for debugging. It is randomly initialized using the config from meta-llama/Llama-3.2-90B-Vision-Instruct but with smaller size.
Downloads · 30 days
811
10% of all-time downloads
All-time downloads
8K
Public
Parameters
2.5M
44.6 MB on disk
Likes
1
Public
Click a slice to open those files.
.json17.3 MB · 77%
From the Hugging Face model README
This model is for debugging. It is randomly initialized using the config from meta-llama/Llama-3.2-90B-Vision-Instruct but with smaller size.
Codes:
import os
import accelerate
import requests
import torch
import transformers
from huggingface_hub import create_repo, upload_folder
from PIL import Image
from transformers import AutoProcessor, MllamaForConditionalGeneration
from transformers.models.mllama import MllamaConfig
model_id = 'meta-llama/Llama-3.2-90B-Vision-Instruct'
repo_id = 'yujiepan/llama-3.2-vision-tiny-random'
save_path = f'/tmp/{repo_id}'
os.system(f'rm -rf {save_path}')
config = transformers.AutoConfig.from_pretrained(
model_id,
trust_remote_code=True,
)
config.text_config.hidden_size = 8
config.text_config.intermediate_size = 16
config.text_config.num_attention_heads = 2
config.text_config.num_key_value_heads = 1
config.text_config.num_hidden_layers = 2
config.text_config.cross_attention_layers = [1]
config.vision_config.attention_heads = 2
config.vision_config.hidden_size = 8
config.vision_config.intermediate_size = 16
config.vision_config.intermediate_layers_indices = [0]
config.vision_config.num_global_layers = 2
config.vision_config.num_hidden_layers = 2
config.vision_config.vision_output_dim = 16
transformers.set_seed(42)
model = MllamaForConditionalGeneration(config)
model.generation_config = transformers.GenerationConfig.from_pretrained(
model_id)
model = model.to(torch.bfloat16)
transformers.set_seed(42)
with torch.no_grad():
for p in model.parameters():
torch.nn.init.normal_(p)
model.save_pretrained(save_path)
processor = AutoProcessor.from_pretrained(model_id)
processor.save_pretrained(save_path)
url = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/0052a70beed5bf71b92610a43a52df6d286cd5f3/diffusers/rabbit.jpg"
image = Image.open(requests.get(url, stream=True).raw)
messages = [
{"role": "user", "content": [
{"type": "image"},
{"type": "text", "text": "If I had to write a haiku for this one, it would be: "}
]}
]
input_text = processor.apply_chat_template(
messages, add_generation_prompt=True)
inputs = processor(image, input_text, return_tensors="pt").to(model.device)
output = model.generate(**inputs, max_new_tokens=30)
print(processor.decode(output[0]))
os.system(f'ls -alh {save_path}')
# os.system(f'rm -rf {save_path}/model.safetensors')
# create_repo(repo_id, exist_ok=True)
# upload_folder(repo_id=repo_id, folder_path=save_path)