Instructions to use mobileforge-anonymous/ForgeOwl-8B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use mobileforge-anonymous/ForgeOwl-8B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="mobileforge-anonymous/ForgeOwl-8B") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("mobileforge-anonymous/ForgeOwl-8B") model = AutoModelForMultimodalLM.from_pretrained("mobileforge-anonymous/ForgeOwl-8B", device_map="auto") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] inputs = processor.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use mobileforge-anonymous/ForgeOwl-8B with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "mobileforge-anonymous/ForgeOwl-8B" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "mobileforge-anonymous/ForgeOwl-8B", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker
docker model run hf.co/mobileforge-anonymous/ForgeOwl-8B
- SGLang
How to use mobileforge-anonymous/ForgeOwl-8B with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "mobileforge-anonymous/ForgeOwl-8B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "mobileforge-anonymous/ForgeOwl-8B", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "mobileforge-anonymous/ForgeOwl-8B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "mobileforge-anonymous/ForgeOwl-8B", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }' - Docker Model Runner
How to use mobileforge-anonymous/ForgeOwl-8B with Docker Model Runner:
docker model run hf.co/mobileforge-anonymous/ForgeOwl-8B
ForgeOwl-8B
ForgeOwl-8B is the GUI-Owl-1.5-8B-Instruct policy adapted with MobileForge on 900 automatically generated target-app tasks. MobileForge uses the policy's own rollouts, hierarchical critic feedback, corrective hints, and hint-contextualized step-level GRPO. No human-written adaptation tasks, demonstrations, or reward labels are used.
This repository is part of an anonymous ICLR submission artifact. Author and paper-identifying metadata will be added after review.
Anonymous project page: https://mobileforge-anonymous.github.io/
Evaluation
On AndroidWorld (116 tasks), this checkpoint obtains 78/116 (67.2%) Pass@1, 87/116 (75.0%) Pass@2, and 90/116 (77.6%) Pass@3. On the MobileWorld GUI-only split (117 tasks), it obtains 48/117 (41.0%) success rate.
Reproduction code and raw evaluation archives are available from the anonymous code repository and benchmark-results dataset.
Usage
Use the same loading and prompting interface as mPLUG/GUI-Owl-1.5-8B-Instruct. See the anonymous code repository for AndroidWorld and MobileWorld runners.
Limitations
The model can make incorrect or unsafe GUI actions. Run it only in isolated test environments, inspect actions before using it with personal data, and do not treat benchmark success as evidence of general reliability.
- Downloads last month
- -
Model tree for mobileforge-anonymous/ForgeOwl-8B
Base model
mPLUG/GUI-Owl-1.5-8B-Instruct