初始化项目,由ModelHub XC社区提供模型

Model: remyxai/SpaceThinker-Qwen2.5VL-3B
Source: Original Platform
This commit is contained in:
ModelHub XC
2026-06-15 00:41:30 +08:00
commit 8028dc4c6c
27 changed files with 153653 additions and 0 deletions

42
.gitattributes vendored Normal file
View File

@@ -0,0 +1,42 @@
*.7z filter=lfs diff=lfs merge=lfs -text
*.arrow filter=lfs diff=lfs merge=lfs -text
*.bin filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.ckpt filter=lfs diff=lfs merge=lfs -text
*.ftz filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.h5 filter=lfs diff=lfs merge=lfs -text
*.joblib filter=lfs diff=lfs merge=lfs -text
*.lfs.* filter=lfs diff=lfs merge=lfs -text
*.mlmodel filter=lfs diff=lfs merge=lfs -text
*.model filter=lfs diff=lfs merge=lfs -text
*.msgpack filter=lfs diff=lfs merge=lfs -text
*.npy filter=lfs diff=lfs merge=lfs -text
*.npz filter=lfs diff=lfs merge=lfs -text
*.onnx filter=lfs diff=lfs merge=lfs -text
*.ot filter=lfs diff=lfs merge=lfs -text
*.parquet filter=lfs diff=lfs merge=lfs -text
*.pb filter=lfs diff=lfs merge=lfs -text
*.pickle filter=lfs diff=lfs merge=lfs -text
*.pkl filter=lfs diff=lfs merge=lfs -text
*.pt filter=lfs diff=lfs merge=lfs -text
*.pth filter=lfs diff=lfs merge=lfs -text
*.rar filter=lfs diff=lfs merge=lfs -text
*.safetensors filter=lfs diff=lfs merge=lfs -text
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
*.tar.* filter=lfs diff=lfs merge=lfs -text
*.tar filter=lfs diff=lfs merge=lfs -text
*.tflite filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.wasm filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text
*tfevents* filter=lfs diff=lfs merge=lfs -text
tokenizer.json filter=lfs diff=lfs merge=lfs -text
images/example_2.png filter=lfs diff=lfs merge=lfs -text
images/example_3.png filter=lfs diff=lfs merge=lfs -text
gguf/spacethinker-qwen2.5VL-3B-F16.gguf filter=lfs diff=lfs merge=lfs -text
gguf/spacethinker-qwen2.5vl-3b-vision.gguf filter=lfs diff=lfs merge=lfs -text
assets/SpaceLLaVA.pdf filter=lfs diff=lfs merge=lfs -text
*.gguf filter=lfs diff=lfs merge=lfs -text

52
LICENSE Normal file
View File

@@ -0,0 +1,52 @@
Qwen RESEARCH LICENSE AGREEMENT
Qwen RESEARCH LICENSE AGREEMENT Release Date: September 19, 2024
By clicking to agree or by using or distributing any portion or element of the Qwen Materials, you will be deemed to have recognized and accepted the content of this Agreement, which is effective immediately.
1. Definitions
a. This Qwen RESEARCH LICENSE AGREEMENT (this "Agreement") shall mean the terms and conditions for use, reproduction, distribution and modification of the Materials as defined by this Agreement.
b. "We" (or "Us") shall mean Alibaba Cloud.
c. "You" (or "Your") shall mean a natural person or legal entity exercising the rights granted by this Agreement and/or using the Materials for any purpose and in any field of use.
d. "Third Parties" shall mean individuals or legal entities that are not under common control with us or you.
e. "Qwen" shall mean the large language models, and software and algorithms, consisting of trained model weights, parameters (including optimizer states), machine-learning model code, inference-enabling code, training-enabling code, fine-tuning enabling code and other elements of the foregoing distributed by us.
f. "Materials" shall mean, collectively, Alibaba Cloud's proprietary Qwen and Documentation (and any portion thereof) made available under this Agreement.
g. "Source" form shall mean the preferred form for making modifications, including but not limited to model source code, documentation source, and configuration files.
h. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
i. "Non-Commercial" shall mean for research or evaluation purposes only.
2. Grant of Rights
a. You are granted a non-exclusive, worldwide, non-transferable and royalty-free limited license under Alibaba Cloud's intellectual property or other rights owned by us embodied in the Materials to use, reproduce, distribute, copy, create derivative works of, and make modifications to the Materials FOR NON-COMMERCIAL PURPOSES ONLY.
b. If you are commercially using the Materials, you shall request a license from us.
3. Redistribution
You may distribute copies or make the Materials, or derivative works thereof, available as part of a product or service that contains any of them, with or without modifications, and in Source or Object form, provided that you meet the following conditions:
a. You shall give any other recipients of the Materials or derivative works a copy of this Agreement;
b. You shall cause any modified files to carry prominent notices stating that you changed the files;
c. You shall retain in all copies of the Materials that you distribute the following attribution notices within a "Notice" text file distributed as a part of such copies: "Qwen is licensed under the Qwen RESEARCH LICENSE AGREEMENT, Copyright (c) Alibaba Cloud. All Rights Reserved."; and
d. You may add your own copyright statement to your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of your modifications, or for any such derivative works as a whole, provided your use, reproduction, and distribution of the work otherwise complies with the terms and conditions of this Agreement.
4. Rules of use
a. The Materials may be subject to export controls or restrictions in China, the United States or other countries or regions. You shall comply with applicable laws and regulations in your use of the Materials.
b. If you use the Materials or any outputs or results therefrom to create, train, fine-tune, or improve an AI model that is distributed or made available, you shall prominently display “Built with Qwen” or “Improved using Qwen” in the related product documentation.
5. Intellectual Property
a. We retain ownership of all intellectual property rights in and to the Materials and derivatives made by or for us. Conditioned upon compliance with the terms and conditions of this Agreement, with respect to any derivative works and modifications of the Materials that are made by you, you are and will be the owner of such derivative works and modifications.
b. No trademark license is granted to use the trade names, trademarks, service marks, or product names of us, except as required to fulfill notice requirements under this Agreement or as required for reasonable and customary use in describing and redistributing the Materials.
c. If you commence a lawsuit or other proceedings (including a cross-claim or counterclaim in a lawsuit) against us or any entity alleging that the Materials or any output therefrom, or any part of the foregoing, infringe any intellectual property or other right owned or licensable by you, then all licenses granted to you under this Agreement shall terminate as of the date such lawsuit or other proceeding is commenced or brought.
6. Disclaimer of Warranty and Limitation of Liability
a. We are not obligated to support, update, provide training for, or develop any further version of the Qwen Materials or to grant any license thereto.
b. THE MATERIALS ARE PROVIDED "AS IS" WITHOUT ANY EXPRESS OR IMPLIED WARRANTY OF ANY KIND INCLUDING WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT, OR FITNESS FOR A PARTICULAR PURPOSE. WE MAKE NO WARRANTY AND ASSUME NO RESPONSIBILITY FOR THE SAFETY OR STABILITY OF THE MATERIALS AND ANY OUTPUT THEREFROM.
c. IN NO EVENT SHALL WE BE LIABLE TO YOU FOR ANY DAMAGES, INCLUDING, BUT NOT LIMITED TO ANY DIRECT, OR INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING FROM YOUR USE OR INABILITY TO USE THE MATERIALS OR ANY OUTPUT OF IT, NO MATTER HOW ITS CAUSED.
d. You will defend, indemnify and hold harmless us from and against any claim by any third party arising out of or related to your use or distribution of the Materials.
7. Survival and Termination.
a. The term of this Agreement shall commence upon your acceptance of this Agreement or access to the Materials and will continue in full force and effect until terminated in accordance with the terms and conditions herein.
b. We may terminate this Agreement if you breach any of the terms or conditions of this Agreement. Upon termination of this Agreement, you must delete and cease use of the Materials. Sections 6 and 8 shall survive the termination of this Agreement.
8. Governing Law and Jurisdiction.
a. This Agreement and any dispute arising out of or relating to it will be governed by the laws of China, without regard to conflict of law principles, and the UN Convention on Contracts for the International Sale of Goods does not apply to this Agreement.
b. The People's Courts in Hangzhou City shall have exclusive jurisdiction over any dispute arising out of this Agreement.
9. Other Terms and Conditions.
a. Any arrangements, understandings, or agreements regarding the Material not stated herein are separate from and independent of the terms and conditions of this Agreement. You shall request a separate license from us, if you use the Materials in ways not expressly agreed to in this Agreement.
b. We shall not be bound by any additional or different terms or conditions communicated by you unless expressly agreed.

668
README.md Normal file
View File

@@ -0,0 +1,668 @@
---
license_name: qwen-research
license_link: https://huggingface.co/Qwen/Qwen2.5-VL-3B-Instruct/blob/main/LICENSE
datasets:
- remyxai/SpaceThinker
base_model:
- UCSC-VLAA/VLAA-Thinker-Qwen2.5VL-3B
tags:
- remyx
- qwen2.5-vl
- spatial-reasoning
- multimodal
- vlm
- vqasynth
- thinking
- reasoning
- test-time-compute
- robotics
- embodied-ai
- quantitative-spatial-reasoning
- distance-estimation
- visual-question-answering
language:
- en
pipeline_tag: image-text-to-text
library_name: transformers
model-index:
- name: SpaceThinker-Qwen2.5VL-3B
results:
- task:
type: visual-question-answering
name: Spatial Reasoning
dataset:
name: Q-Spatial-Bench
type: custom
metrics:
- type: success_rate
name: Overall Success Rate
value: 0.3226
results_by_distance_bucket:
- name: 0-10cm
count: 7
successes: 3
success_rate: 0.4286
- name: 10-30cm
count: 28
successes: 5
success_rate: 0.1786
- name: 30-60cm
count: 16
successes: 8
success_rate: 0.5
- name: 60-100cm
count: 17
successes: 9
success_rate: 0.5294
- name: 100-200cm
count: 19
successes: 4
success_rate: 0.2105
- name: 200cm+
count: 6
successes: 1
success_rate: 0.1667
- task:
type: visual-question-answering
name: Spatial Reasoning
dataset:
name: 3DSRBench
type: benchmark
metrics:
- type: success_rate
name: Overall Success Rate
value: 0.2052
results_by_category:
- name: 3D Positional Relation / Orientation
success_rate: 0.2603
- name: Object Localization / 3D Localization
success_rate: 0.3493
- name: Object Properties / Size
success_rate: 0.0058
- task:
type: visual-question-answering
name: Spatial Reasoning
dataset:
name: BLINK
type: benchmark
metrics:
- type: success_rate
name: Overall Success Rate
value: 0.2841
results_by_category:
- name: 3D Positional Relation / Orientation
success_rate: 0.5874
- name: Counting / Object Counting
success_rate: 0.45
- name: Depth and Distance / Relative
success_rate: 0
- name: Object Localization / 2D Localization
success_rate: 0.041
- name: Point and Object Tracking / Point Correspondence
success_rate: 0.0581
- task:
type: visual-question-answering
name: Spatial Reasoning
dataset:
name: MMIU
type: benchmark
metrics:
- type: success_rate
name: Overall Success Rate
value: 0.2651
results_by_category:
- name: Camera and Image Transformation / 2D Transformation
success_rate: 0.1325
- name: Camera and Image Transformation / 3D Camera Pose
success_rate: 0.28
- name: Camera and Image Transformation / Camera Motion
success_rate: 0.4436
- name: Depth and Distance / Absolute
success_rate: 0.005
- name: Object Localization / 3D Localization
success_rate: 0.2275
- name: Point and Object Tracking / 3D Tracking
success_rate: 0.505
- name: Point and Object Tracking / Point Correspondence
success_rate: 0.265
- task:
type: visual-question-answering
name: Spatial Reasoning
dataset:
name: MMVP
type: benchmark
metrics:
- type: success_rate
name: Overall Success Rate
value: 0.5367
results_by_category:
- name: Others / Miscellaneous
success_rate: 0.5367
- task:
type: visual-question-answering
name: Spatial Reasoning
dataset:
name: QSpatialBench-Plus
type: benchmark
metrics:
- type: success_rate
name: Overall Success Rate
value: 0.5149
results_by_category:
- name: Depth and Distance / Absolute
success_rate: 0.5149
- task:
type: visual-question-answering
name: Spatial Reasoning
dataset:
name: QSpatialBench-ScanNet
type: benchmark
metrics:
- type: success_rate
name: Overall Success Rate
value: 0.5733
results_by_category:
- name: Depth and Distance / Absolute
success_rate: 0.48
- name: Object Properties / Size
success_rate: 0.6667
- task:
type: visual-question-answering
name: Spatial Reasoning
dataset:
name: RealWorldQA
type: benchmark
metrics:
- type: success_rate
name: Overall Success Rate
value: 0.5699
results_by_category:
- name: Others / Miscellaneous
success_rate: 0.5699
- task:
type: visual-question-answering
name: Spatial Reasoning
dataset:
name: SpatialSense
type: benchmark
metrics:
- type: success_rate
name: Overall Success Rate
value: 0.6405
results_by_category:
- name: 3D Positional Relation / Orientation
success_rate: 0.6405
- task:
type: visual-question-answering
name: Spatial Reasoning
dataset:
name: VGBench
type: benchmark
metrics:
- type: success_rate
name: Overall Success Rate
value: 0.3257
results_by_category:
- name: Camera and Image Transformation / 2D Transformation
success_rate: 0.2258
- name: Camera and Image Transformation / 3D Camera Pose
success_rate: 0.401
- name: Depth and Distance / Absolute
success_rate: 0.3904
- name: Depth and Distance / Relative
success_rate: 0.2127
- name: Object Localization / 3D Localization
success_rate: 0.4217
- name: Point and Object Tracking / 3D Tracking
success_rate: 0.3027
- task:
type: visual-question-answering
name: Spatial Reasoning
dataset:
name: VSI-Bench_8
type: benchmark
metrics:
- type: success_rate
name: Overall Success Rate
value: 0.2781
results_by_category:
- name: 3D Positional Relation / Orientation
success_rate: 0.3864
- name: Counting / Object Counting
success_rate: 0.2246
- name: Depth and Distance / Absolute
success_rate: 0.0639
- name: Depth and Distance / Relative
success_rate: 0.3479
- name: Object Properties / Size
success_rate: 0.143
- name: Others / Miscellaneous
success_rate: 0.3042
- task:
type: visual-question-answering
name: Spatial Reasoning
dataset:
name: VSR-ZeroShot
type: benchmark
metrics:
- type: success_rate
name: Overall Success Rate
value: 0.6997
results_by_category:
- name: 3D Positional Relation / Orientation
success_rate: 0.6997
- task:
type: visual-question-answering
name: Spatial Reasoning
dataset:
name: cvbench
type: benchmark
metrics:
- type: success_rate
name: Overall Success Rate
value: 0.2457
results_by_category:
- name: Counting / Object Counting
success_rate: 0.4886
- name: Depth and Distance / Relative
success_rate: 0.2025
- name: Object Localization / 3D Localization
success_rate: 0.0462
- task:
type: visual-question-answering
name: Spatial Reasoning
dataset:
name: spatialbench
type: benchmark
metrics:
- type: success_rate
name: Overall Success Rate
value: 0.565
results_by_category:
- name: 3D Positional Relation / Orientation
success_rate: 0.5
- name: Counting / Object Counting
success_rate: 0.7
- name: Object Properties / Existence
success_rate: 0.825
- name: Object Properties / Reachability
success_rate: 0.575
- name: Object Properties / Size
success_rate: 0.225
new_version: remyxai/SpaceOm
---
[![Official](https://img.shields.io/badge/Official-%239a0018.svg?logo=data:image/svg+xml;base64,PG5zMDpzdmcgeG1sbnM6bnMwPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgYmFzZVByb2ZpbGU9ImZ1bGwiIGhlaWdodD0iMjQiIHZlcnNpb249IjEuMSIgdmlld0JveD0iNiAyMiA1MiAyMiIgd2lkdGg9IjI0Ij48bnMwOmRlZnMgLz48bnMwOnBhdGggZD0iTTEzLDMzIEw5LDM3IEw5LDUwIEwxMCw1MSBMMTMsNTEgTDE0LDUwIEwxNCwzOCBMMTUsMzcgTDE2LDM4IEwxNiw1MCBMMTcsNTEgTDE5LDUxIEwyMCw1MCBMMjAsMzggTDIxLDM3IEwyMiwzOCBMMjIsMzkgTDIzLDQwIEwyMyw1MSBMMjYsNTEgTDI3LDUwIEwyNyw0MyBMMjgsNDIgTDMyLDQ2IEwzMiw1MSBMMzUsNTEgTDM2LDUwIEwzNiw0NSBMNDEsNDAgTDQyLDQxIEw0Miw0MyBMNDEsNDQgTDQxLDUwIEw0Miw1MSBMNDQsNTEgTDQ1LDUwIEw0NSw0NSBMNDYsNDQgTDQ5LDQ0IEw1MCw0NSBMNTAsNTAgTDUxLDUxIEw1Myw1MSBMNTQsNTAgTDU0LDQ0IEw1Myw0MyBMNTMsNDIgTDUyLDQxIEw1NCwzOSBMNTQsMzQgTDUzLDM0IEw1MiwzMyBMNTEsMzMgTDUwLDM0IEw1MCwzOSBMNDksNDAgTDQ2LDQwIEw0NSwzOSBMNDUsMzQgTDQ0LDM0IEw0MywzMyBMNDIsMzMgTDQxLDM0IEw0MCwzNCBMMzksMzMgTDM4LDMzIEwzNywzNCBMMzYsMzQgTDM2LDQwIEwzNSw0MSBMMzMsNDEgTDMxLDM5IEwzMSwzNCBMMzAsMzMgTDI5LDMzIEwyOCwzNCBMMjcsMzQgTDI3LDM2IEwyNiwzNyBMMjUsMzYgTDI1LDM1IEwyNCwzNCBMMjMsMzQgTDIyLDMzIFoiIGZpbGw9IiNmZmZmZmYiIC8+PG5zMDpwYXRoIGQ9Ik0xMSwxNCBMMTAsMTUgTDEwLDI5IEwxMSwzMCBMMTUsMzAgTDE2LDI5IEwxNiwyNSBMMTcsMjQgTDIzLDI0IEwyNSwyNiBMMjUsMjggTDI3LDMwIEwzMSwzMCBMMzEsMjcgTDMyLDI2IEwzMywyNyBMMzMsMjggTDM0LDI5IEwzNSwyOSBMMzYsMzAgTDUyLDMwIEw1MywyOSBMNTMsMjcgTDUyLDI2IEwzOSwyNiBMMzgsMjUgTDM5LDI0IEw1MSwyNCBMNTIsMjMgTDUzLDIzIEw1MywyMSBMNTIsMjAgTDM5LDIwIEwzOCwxOSBMNDAsMTcgTDUzLDE3IEw1MywxNCBMMzYsMTQgTDMzLDE3IEwzMywxOCBMMzIsMTkgTDMxLDE4IEwzMSwxNyBMMjgsMTQgWiIgZmlsbD0iI2ZmZmZmZiIgLz48bnMwOnBhdGggZD0iTTQsMSBaIiBmaWxsPSIjZmZmZmZmIiAvPjwvbnMwOnN2Zz4=)](https://remyx.ai/?model_id=SpaceThinker-Qwen2.5VL-3B&sha256=abc123def4567890abc123def4567890abc123def4567890abc123def4567890)
# SpaceThinker-Qwen2.5VL-3B
![image/gif](https://cdn-uploads.huggingface.co/production/uploads/647777304ae93470ffc28913/eQs51cR-mwGDGhJ0YVHlO.gif)
## 📚 Contents
- [🚀 Try It Live](#try-the-spacethinker-space)
- [🧠 Model Overview](#model-overview)
- [📏 Quantitative Spatial Reasoning](#spatial-reasoning-capabilities)
- [🔍 View Examples](#examples-of-spacethinker)
- [📊 Evaluation & Benchmarks](#model-evaluation)
- [🏃‍♀️ Running SpaceThinker](#running-spacethinker)
- [🏋️‍♂️ Training Configuration](#training-spacethinker)
- [📂 Dataset Info](#spacethinker-dataset)
- [⚠️ Limitations](#limitations)
- [📜 Citation](#citation)
## Try the SpaceThinker Space
[![Try the SpaceThinker Space](https://img.shields.io/badge/🤗%20Spaces-Demo-blue)](https://huggingface.co/spaces/remyxai/SpaceThinker-Qwen2.5VL-3B)
# Model Overview
**SpaceThinker-Qwen2.5VL-3B** is a thinking/reasoning multimodal/vision-language model (VLM) trained to enhance spatial reasoning with test-time compute by fine-tuning
`UCSC-VLAA/VLAA-Thinker-Qwen2.5VL-3B` on synthetic reasoning traces generated by the [VQASynth](https://huggingface.co/datasets/remyxai/SpaceThinker) pipeline.
- **Model Type:** Multimodal, Vision-Language Model
- **Architecture**: `Qwen2.5-VL-3B`
- **Model Size:** 3.75B parameters (FP16)
- **Finetuned from:** `UCSC-VLAA/VLAA-Thinker-Qwen2.5VL-3B`
- **Finetune Strategy:** LoRA (Low-Rank Adaptation)
- **License:** Apache-2.0
Check out the [SpaceThinker collection](https://huggingface.co/collections/remyxai/spacethinker-68014f174cd049ca5acca4e5)
## Spatial Reasoning Capabilities
Strong quantitative spatial reasoning is critical for embodied AI applications demanding the ability to plan and navigate a 3D space, such as robotics and drones.
**SpaceThinker** improves capabilities using test-time compute, trained with samples which ground the final response on a consistent explanation of a collection of scene observations.
- Enhanced Quantitative Spatial Reasoning (e.g., distances, sizes)
- Grounded object relations (e.g., left-of, above, inside)
### Examples of SpaceThinker
Consider the following sample images/prompts for visual QA of **SpaceThinker-Qwen2.5VL-3B**
| <img src="images/example_1.jpg" alt="sample_1" style="max-height: 350px;" > | <img src="images/example_2.png" alt="sample_2" style="max-height: 350px;"> | <img src="images/example_3.png" alt="sample_3" style="max-height: 350px;"> |
|----------|-------------|--------|
| **Prompt:** How far is the man in the red hat from the pallet of boxes in feet? | **Prompt:** How far is the Goal from the penalty taker in this image? | **Prompt:** Approximately how many meters apart are the chair and bookshelf? |
| **Reasoning:** To determine how far the man in the red hat is from the pallet of boxes, I need to consider the spatial arrangement in the warehouse. The man is walking on the floor, and there's a visible gap between him and the pallet. First, I'll estimate the size of the pallet. A standard pallet is typically around 4 feet wide and 8 feet long. Given that the man is standing near the edge of the pallet, he might be about 23 feet away from the front edge of the pallet. Next, I'll consider the distance from the pallet to the man. The man appears to be walking along the aisle, which seems to be about 67 feet wide. If he is standing at the edge of the pallet, he would likely be about 23 feet from the front edge of the pallet. Combining these observations, the man in the red hat is approximately 23 feet from the pallet of boxes. | **Reasoning:** First, I observe the scene where a player in a red uniform stands near the goal. The goal itself is a standard soccer goalpost, which typically extends 2.5 meters beyond the line of the goalposts. The player appears to be standing close to the goal, but not directly at the goal line. To estimate the distance, I consider that the player's position relative to the goal suggests he is likely standing closer than 2.5 meters away. Given the typical setup of a penalty kick scenario, the player would be positioned further back from the goal than the goal itself. By visual estimation, the player seems to be standing approximately 1015 meters from the goal. This range aligns with the common distance for a penalty kick, considering the player's stance and the goal's structure. Thus, the distance from the goal to the penalty taker is likely around 1015 meters. | **Reasoning:** To determine the distance between the chair and the bookshelf, I'll consider the typical dimensions of these objects. A standard office chair is around 6070 cm tall, and a bookshelf can be anywhere from 1.2 to 1.8 meters tall. Given that the chair is likely placed on a desk or floor level, the height difference between the chair and the top of the bookshelf would be approximately 1 meter. Assuming the bookshelf is at least 1 meter high, and the chair is at ground level, the vertical distance between them is indeed 1 meter. The horizontal distance might vary depending on the layout, but given the room's dimensions and the placement of the chair relative to the bookshelf, the total distance between the chair and the top of the bookshelf is likely around 1 meter. Therefore, the chair and bookshelf are approximately 1 meter apart. |
| **Answer:** 23 feet | **Answer:** 1015 meters | **Answer:** 1 meter |
> **SpaceThinker** demonstrates grounded, quantitative spatial reasoning—inferring accurate distances, interpreting 3D scene context, and formatting open-ended answers precisely
> by integrating visual cues, real-world object priors, and human-centric spatial logic.
Read more about using test-time compute [here](https://huggingface.co/spaces/open-r1/README/discussions/10) for enhanced multimodal quantitative spatial reasoning.
## Running SpaceThinker
### Space
Try the **SpaceThinker** Space
[![Try the SpaceThinker Space](https://img.shields.io/badge/🤗%20Spaces-Demo-blue)](https://huggingface.co/spaces/remyxai/SpaceThinker-Qwen2.5VL-3B)
### Ollama
To launch with ollama, run:
```bash
ollama run hf.co/remyxai/SpaceThinker-Qwen2.5VL-3B:latest
```
or
```bash
ollama run remyxai/spacethinker
```
### llama.cpp
To run locally with **llama.cpp**, install and build this [branch](https://github.com/HimariO/llama.cpp.qwen2.5vl/tree/qwen25-vl) and download the [.gguf weights here](https://huggingface.co/remyxai/SpaceThinker-Qwen2.5VL-3B/tree/main/gguf)
```bash
./llama-qwen2vl-cli -m spacethinker-qwen2.5VL-3B-F16.gguf
--mmproj spacethinker-qwen2.5vl-3b-vision.gguf
--image images/example_1.jpg --threads 24 -ngl 9
-p "Does the man in blue shirt working have a greater \\
height compared to the wooden pallet with boxes on floor?"
```
Run using **llama.cpp in colab**
[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/1_ShhJAqnac8L4N9o1YNdsxCksSLJCrU7?usp=sharing)
### Transformers
Run locally using **Transformers**
```python
import torch
from PIL import Image
from transformers import Qwen2_5_VLForConditionalGeneration, AutoProcessor
import requests
from io import BytesIO
# Configuration
model_id = "remyxai/SpaceThinker-Qwen2.5VL-3B"
image_path = "images/example_1.jpg" # or local path
prompt = "What can you infer from this image about the environment?"
system_message = (
"You are VL-Thinking 🤔, a helpful assistant with excellent reasoning ability. "
"You should first think about the reasoning process and then provide the answer. "
"Use <think>...</think> and <answer>...</answer> tags."
)
# Load model and processor
model = Qwen2_5_VLForConditionalGeneration.from_pretrained(
model_id, device_map="auto", torch_dtype=torch.bfloat16
)
processor = AutoProcessor.from_pretrained(model_id)
# Load and preprocess image
if image_path.startswith("http"):
image = Image.open(BytesIO(requests.get(image_path).content)).convert("RGB")
else:
image = Image.open(image_path).convert("RGB")
if image.width > 512:
ratio = image.height / image.width
image = image.resize((512, int(512 * ratio)), Image.Resampling.LANCZOS)
# Format input
chat = [
{"role": "system", "content": [{"type": "text", "text": system_message}]},
{"role": "user", "content": [{"type": "image", "image": image},
{"type": "text", "text": prompt}]}
]
text_input = processor.apply_chat_template(chat, tokenize=False,
add_generation_prompt=True)
# Tokenize
inputs = processor(text=[text_input], images=[image],
return_tensors="pt").to("cuda")
# Generate response
generated_ids = model.generate(**inputs, max_new_tokens=1024)
output = processor.batch_decode(generated_ids, skip_special_tokens=True)[0]
print("Response:\n", output)
```
## SpaceThinker Dataset
The **SpaceThinker** dataset includes over 12K samples synthesized using VQASynth on a subset of images in the localized narratives split of [the cauldron](https://huggingface.co/datasets/HuggingFaceM4/the_cauldron).
**SpaceThinker** is formatted similar to the [Llama-Nemotron-Post-Training-Dataset-v1](https://huggingface.co/datasets/nvidia/Llama-Nemotron-Post-Training-Dataset) to toggle reasoning.
The model builds upon the ideas from [SpatialVLM (Chen et al., 2024)](https://spatial-vlm.github.io/), introducing synthetic reasoning traces grounded on a 3D scene reconstruction pipeline using **Molmo, VGGT, SAM2**.
![image/png](https://cdn-uploads.huggingface.co/production/uploads/647777304ae93470ffc28913/Tkq_jIfD1YizSZBGdJY53.png)
**Dataset Summary**
- ~12K synthetic spatial reasoning traces
- Question types: spatial relations (distances (units), above, left-of, contains, closest to)
- Format: image (RGB) + question + answer with reasoning traces
- Dataset: [remyxai/SpaceThinker](https://huggingface.co/datasets/remyxai/SpaceThinker)
- Code: [Synthetize Spatial Reasoning Traces with VQASynth](https://github.com/remyxai/VQASynth)
## Training SpaceThinker
**PEFT Configuration**
- Architecture: Qwen2.5-VL-3B
- Base model: UCSC-VLAA/VLAA-Thinker-Qwen2.5VL-3B
- Method: LoRA finetuning (PEFT)
- LoRA Alpha: 256
- LoRA Rank: 128
- Target Modules: q_proj, v_proj
- Optimizer: AdamW (lr=2e-5), batch size = 1, epochs = 3
- Max input length: 1024 tokens
Reproduce LoRA SFT training with included script:
```bash
python train.py
```
Wandb logs available [here](https://wandb.ai/smellslikeml/qwen2.5-3b-instruct-trl-sft-spacethinker).
## Model Evaluation
### OmniSpatial
See how SpaceThinker compares on **[OmniSpatial](https://www.arxiv.org/pdf/2506.03135)** - dynamic reasoning, complex spatial logic, spatial interaction, and perspective-taking.
![image/png](https://cdn-uploads.huggingface.co/production/uploads/647777304ae93470ffc28913/ppsNcMghSjdSlJtybzceb.png)
### SpatialScore
Evaluate Spatial Reasoning with the **SpatialScore** Benchmark.
![image/png](https://cdn-uploads.huggingface.co/production/uploads/647777304ae93470ffc28913/XMs9hntlWXJeO_sH7GZ-P.png)
Evaluate **SpaceThinker** on the [SpatialScore](https://haoningwu3639.github.io/SpatialScore/) benchmarks for general spatial reasoning in the following colab notebook:
[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/1eRc5_vpUCS4QxwzBNAvKi0z0IANdC9N2?usp=sharing)
The following chart compares performance between **SpaceThinker** and **SpaceQwen** on the **SpatialScore** benchmarks sources.
<img src="https://cdn-uploads.huggingface.co/production/uploads/647777304ae93470ffc28913/HYR3temzQ8YjdKQWTtjxt.png" alt="SpaceThinker_v_SpaceQwen" style="max-height: 250px;">
Find the full summary of the [results here](https://huggingface.co/datasets/salma-remyx/SpaceThinker_SpatialScore).
**SpaceThinker** shines on the **SpatialScore-Hard** split:
| **Model** | **Overall** | **Count.** | **Obj-Loc.** | **Pos-Rel.** | **Dist.** | **Obj-Prop.** | **Cam.\&IT.** | **Tracking** | **Others** |
| ------------------- | ----------- | ---------- | ------------ | ------------ | --------- | ------------- | ------------- | ------------ | ---------- |
| SpaceOm | 18.83 | 17.11 | 12.57 | 21.50 | 23.66 | 31.94 | 18.86 | 14.79 | 9.14 |
| 🧠 **SpaceThinker** | 19.47 | 17.82 | 12.57 | 21.50 | 25.37 | 30.23 | 22.86 | 14.79 | 9.71 |
| SpaceQwen2.5VL-3B | 17.21 | 20.42 | 18.86 | 27.10 | 6.86 | 12.57 | 8.57 | 23.08 | 18.86 |
| SpatialBot-Phi2-3B | 19.87 | 19.72 | 27.59 | 25.23 | 8.00 | 23.43 | 13.71 | 17.16 | 22.86 |
| Kimi-VL-3B | 16.29 | 12.68 | 18.86 | 12.62 | 17.71 | 22.29 | 18.86 | 11.83 | 15.43 |
| Kimi-VL-3B-Thinking | 26.36 | 19.72 | 28.00 | 38.79 | 27.43 | 32.57 | 14.86 | 18.34 | 26.86 |
| Qwen2.5-VL-3B | 16.86 | 18.31 | 7.43 | 16.82 | 19.43 | 31.43 | 15.43 | 14.79 | 11.43 |
| InternVL2.5-4B | 13.71 | 6.34 | 21.71 | 15.42 | 14.86 | 12.00 | 16.00 | 12.43 | 9.14 |
See [all results](https://huggingface.co/datasets/salma-remyx/SpaceThinker_SpatialScore-Hard/blob/main/all_results.json) for **SpatialScore-Hard**.
### SpaCE-10
| **Model** | **Overall** | **EQ** | **SQ** | **SA** | **OO** | **OS** | **EP** | **FR** | **SP** | **Source** |
|--------------------------|-------------|----------|----------|----------|----------|----------|----------|----------|----------|-------------|
| InternVL2.5-4B | **36.01** | **34.30**| 34.40 | 43.60 | 44.40 | 16.50 | **31.10**| **50.10**| **33.70**| Table |
| 🧠**SpaceThinker** | 32.72 | 32.73 | 24.81 | 47.26 | 50.33 | 33.63 | 9.25 | 37.54 | 26.25 | GPT Eval |
| SpaceOm | 32.32 | 32.47 | 24.81 | **47.63**| 50.00 | 32.52 | 9.12 | 37.04 | 25.00 | GPT Eval |
| SpaceQwen | 31.98 | 31.19 | 25.89 | 41.61 | **51.98**| **35.18**| 10.97 | 36.54 | 22.50 | GPT Eval |
| Qwen2.5-VL-3B-Instruct | 30.00 | 31.70 | **45.50**| 39.00 | 43.00 | 25.30 | 11.50 | 22.80 | 21.20 | Table |
**Legend:**
- EQ: Entity Quantification
- SQ: Scene Quantification
- SA: Size Assessment
- OO: Object-Object spatial relations
- OS: Object-Scene spatial relations
- EP: Entity Presence
- FR: Functional Reasoning
- SP: Spatial Planning
> Note: Scores for SpaceQwen, SpaceThinker, SpaceOm are generated via `gpt_eval_score` on single-choice (`*-single`) versions of the SpaCE-10 benchmark tasks. Other entries reflect leaderboard accuracy scores from the official SpaCE-10 evaluation table.
Read more about the [SpaCE-10 benchmark](https://arxiv.org/pdf/2506.07966v1) or see [results here](https://huggingface.co/datasets/salma-remyx/SpaceThinker_SpaCE-10_Results/blob/main/20250612_062336_results.json)
## QSpatial++ Comparison Table (4/25/25)
| **Model** | **SpaceThinker-Qwen2.5VL-3B** | **gpt-4o** | **gemini-2.5-pro-preview-03-25** |
|------------------------|----------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------|
| **QSpatial++ Predictions** | <img src="https://cdn-uploads.huggingface.co/production/uploads/647777304ae93470ffc28913/W4b6fV0AxT6GsYR1XiQvA.png" alt="SpaceThinker sample" style="max-height: 150px;"> | <img src="https://cdn-uploads.huggingface.co/production/uploads/647777304ae93470ffc28913/j_NFQ9Lns8ON9Rzg3Fs0r.png" alt="gpt-4o sample" style="max-height: 150px;"> | <img src="https://cdn-uploads.huggingface.co/production/uploads/647777304ae93470ffc28913/Ot64jVvwdldpCuDr-6PjX.png" alt="Gemini sample" style="max-height: 150px;"> |
| **Colab Notebook** | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/1buEe2QC4_pnrJwQ9XyRAH7RfaIa6pbex?usp=sharing) | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/1zNv41ONUeoaEigscz9muZ3eVFtxev0qv?usp=sharing) | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/153bbTxrRBH52n74jONvpsbqJ1XYNByKw?usp=sharing) |
| **Success Rate (%) ↑** | **55** | 43 | 52 |
| **Samples Completed ↑**| **99 / 100** | 95 / 100 | **99 / 100** |
| **sMAPE (%) ↓** | 66 | 71 | **62** |
### Metric Notes
- **Success Rate (%)**: Higher is better ↑
- **Samples Completed**: Higher is better ↑
- **sMAPE (%)**: Lower is better ↓
Try distance estimation focusing on **Q-Spatial-Bench** in the colab notebook here:
[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/1NH2n-PRJJOiu_md8agyYCnxEZDGO5ICJ?usp=sharing)
The [Q-Spatial-Bench dataset](https://huggingface.co/datasets/andrewliao11/Q-Spatial-Bench) includes hundreds of
VQA samples designed to evaluate quantitative spatial reasoning of VLMs with high-precision.
![image/png](https://cdn-uploads.huggingface.co/production/uploads/647777304ae93470ffc28913/F2W6YkVdsNva0EpMGRtjh.png)
Using the Colab notebook we evaluate **SpaceThinker** on the **QSpatial++** split under two conditions:
- **Default System Prompt**:
- Prompts completed: **93 / 101**
- Correct answers: **30**
- **Accuracy**: **32.26%**
- **Prompting for step-by-step reasoning** using the [spatial prompt](https://github.com/andrewliao11/Q-Spatial-Bench-code/blob/main/prompt_templates/spatial_prompt_steps.txt) from **Q-Spatial-Bench**:
- Correct answers: **53**
- **Accuracy**: **52.48%**
Using the spatial prompt improves the number of correct answers and overall accuracy rate while improving the task completion rate.
Updating the comparison from **Q-Spatial-Bench** [project page](https://andrewliao11.github.io/spatial_prompt/), the **SpaceThinker-Qwen2.5-VL-3B** VLM using
the SpatialPrompt for step-by-step reasoning performs on par with larger, closed, frontier API providers.
The following chart makes further comparisons to assess prompt sensitivity by evaluating w/o the benefit of the
optimized step-by-step instructions. This comparison helps to quantify the effect of reasoning versus non-reasoning
models as well as that of SFT by LoRA with synthetic spatial reasoning data.
![image/png](https://cdn-uploads.huggingface.co/production/uploads/647777304ae93470ffc28913/H6GlJLkqIalHtMw5Ij4nJ.png)
Consider the extended [comparisons here](https://huggingface.co/datasets/salma-remyx/Q-Spatial-Bench-sMAPE-Comparison) sweeping additional model sizes and architectures.
## Limitations
- Performance may degrade in cluttered environments or camera perspective.
- This model was fine-tuned using synthetic reasoning over an internet image dataset.
- Multimodal biases inherent to the base model (Qwen2.5-VL) may persist.
- Not intended for use in safety-critical or legal decision-making.
> Users are encouraged to evaluate outputs critically and consider fine-tuning for domain-specific safety and performance. Distances estimated using autoregressive
> transformers may help in higher-order reasoning for planning and behavior but may not be suitable replacements for measurements taken with high-precision sensors,
> calibrated stereo vision systems, or specialist monocular depth estimation models capable of more accurate, pixel-wise predictions and real-time performance.
## Citation
![image/png](https://cdn-uploads.huggingface.co/production/uploads/647777304ae93470ffc28913/cbScrdqGH4ZITjK5qZPYQ.png)
```
@article{chen2024spatialvlm,
title = {SpatialVLM: Endowing Vision-Language Models with Spatial Reasoning Capabilities},
author = {Chen, Boyuan and Xu, Zhuo and Kirmani, Sean and Ichter, Brian and Driess, Danny and Florence, Pete and Sadigh, Dorsa and Guibas, Leonidas and Xia, Fei},
journal = {arXiv preprint arXiv:2401.12168},
year = {2024},
url = {https://arxiv.org/abs/2401.12168},
}
@misc{qwen2.5-VL,
title = {Qwen2.5-VL},
url = {https://qwenlm.github.io/blog/qwen2.5-vl/},
author = {Qwen Team},
month = {January},
year = {2025}
}
@misc{vl-thinking2025,
title={SFT or RL? An Early Investigation into Training R1-Like Reasoning Large Vision-Language Models },
author={Hardy Chen and Haoqin Tu and Fali Wang and Hui Liu and Xianfeng Tang and Xinya Du and Yuyin Zhou and Cihang Xie},
year = {2025},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/UCSC-VLAA/VLAA-Thinking}},
}
@inproceedings{
liaos2024reasoning,
title={Reasoning Paths with Reference Objects Elicit Quantitative Spatial Reasoning in Large Vision-Language Models},
author={Yuan-Hong Liao and Rafid Mahmood and Sanja Fidler and David Acuna},
booktitle={The 2024 Conference on Empirical Methods in Natural Language Processing},
year={2024},
url={https://arxiv.org/abs/2409.09788},
}
@article{wu2025spatialscore,
author = {Wu, Haoning and Huang, Xiao and Chen, Yaohui and Zhang, Ya and Wang, Yanfeng and Xie, Weidi},
title = {SpatialScore: Towards Unified Evaluation for Multimodal Spatial Understanding},
journal = {arXiv preprint arXiv:2505.17012},
year = {2025},
}
@article{omnispatial25,
title = {OmniSpatial: Towards Comprehensive Spatial Reasoning Benchmark for Vision Language Models},
author = {Mengdi Jia and Zekun Qi and Shaochen Zhang and Wenyao Zhang and Xinqiang Yu and Jiawei He and He Wang and Li Yi},
journal = {arXiv preprint arXiv:2506.03135},
year = {2025}
}
```

29
adapter_config.json Normal file
View File

@@ -0,0 +1,29 @@
{
"alpha_pattern": {},
"auto_mapping": null,
"base_model_name_or_path": "UCSC-VLAA/VLAA-Thinker-Qwen2.5VL-3B",
"bias": "none",
"fan_in_fan_out": false,
"inference_mode": true,
"init_lora_weights": true,
"layer_replication": null,
"layers_pattern": null,
"layers_to_transform": null,
"loftq_config": {},
"lora_alpha": 256,
"lora_dropout": 0.05,
"megatron_config": null,
"megatron_core": "megatron.core",
"modules_to_save": null,
"peft_type": "LORA",
"r": 128,
"rank_pattern": {},
"revision": null,
"target_modules": [
"v_proj",
"q_proj"
],
"task_type": "CAUSAL_LM",
"use_dora": false,
"use_rslora": false
}

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c5289baa4e2b00730ff9967ed6f8c4a848ea4ec633729a91bfb7a5381af80beb
size 59002040

24
added_tokens.json Normal file
View File

@@ -0,0 +1,24 @@
{
"</tool_call>": 151658,
"<tool_call>": 151657,
"<|box_end|>": 151649,
"<|box_start|>": 151648,
"<|endoftext|>": 151643,
"<|file_sep|>": 151664,
"<|fim_middle|>": 151660,
"<|fim_pad|>": 151662,
"<|fim_prefix|>": 151659,
"<|fim_suffix|>": 151661,
"<|im_end|>": 151645,
"<|im_start|>": 151644,
"<|image_pad|>": 151655,
"<|object_ref_end|>": 151647,
"<|object_ref_start|>": 151646,
"<|quad_end|>": 151651,
"<|quad_start|>": 151650,
"<|repo_name|>": 151663,
"<|video_pad|>": 151656,
"<|vision_end|>": 151653,
"<|vision_pad|>": 151654,
"<|vision_start|>": 151652
}

3
assets/SpaceLLaVA.pdf Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:08a1ee6adc1b3e6649ac509e9438287577976bb991c7360110ca5d8dace55ee3
size 3735716

3
chat_template.json Normal file
View File

@@ -0,0 +1,3 @@
{
"chat_template": "{% set image_count = namespace(value=0) %}{% set video_count = namespace(value=0) %}{% for message in messages %}{% if loop.first and message['role'] != 'system' %}<|im_start|>system\nYou are a helpful assistant.<|im_end|>\n{% endif %}<|im_start|>{{ message['role'] }}\n{% if message['content'] is string %}{{ message['content'] }}<|im_end|>\n{% else %}{% for content in message['content'] %}{% if content['type'] == 'image' or 'image' in content or 'image_url' in content %}{% set image_count.value = image_count.value + 1 %}{% if add_vision_id %}Picture {{ image_count.value }}: {% endif %}<|vision_start|><|image_pad|><|vision_end|>{% elif content['type'] == 'video' or 'video' in content %}{% set video_count.value = video_count.value + 1 %}{% if add_vision_id %}Video {{ video_count.value }}: {% endif %}<|vision_start|><|video_pad|><|vision_end|>{% elif 'text' in content %}{{ content['text'] }}{% endif %}{% endfor %}<|im_end|>\n{% endif %}{% endfor %}{% if add_generation_prompt %}<|im_start|>assistant\n{% endif %}"
}

51
config.json Normal file
View File

@@ -0,0 +1,51 @@
{
"_name_or_path": "UCSC-VLAA/VLAA-Thinker-Qwen2.5VL-3B",
"architectures": [
"Qwen2_5_VLForConditionalGeneration"
],
"attention_dropout": 0.0,
"bos_token_id": 151643,
"eos_token_id": 151645,
"hidden_act": "silu",
"hidden_size": 2048,
"image_token_id": 151655,
"initializer_range": 0.02,
"intermediate_size": 11008,
"max_position_embeddings": 128000,
"max_window_layers": 70,
"model_type": "qwen2_5_vl",
"num_attention_heads": 16,
"num_hidden_layers": 36,
"num_key_value_heads": 2,
"rms_norm_eps": 1e-06,
"rope_scaling": {
"mrope_section": [
16,
24,
24
],
"rope_type": "default",
"type": "default"
},
"rope_theta": 1000000.0,
"sliding_window": 32768,
"tie_word_embeddings": true,
"torch_dtype": "float16",
"transformers_version": "4.49.0",
"use_cache": false,
"use_sliding_window": false,
"video_token_id": 151656,
"vision_config": {
"hidden_size": 1280,
"in_chans": 3,
"model_type": "qwen2_5_vl",
"out_hidden_size": 2048,
"spatial_patch_size": 14,
"tokens_per_second": 2,
"torch_dtype": "float16"
},
"vision_end_token_id": 151653,
"vision_start_token_id": 151652,
"vision_token_id": 151654,
"vocab_size": 151936
}

13
generation_config.json Normal file
View File

@@ -0,0 +1,13 @@
{
"attn_implementation": "flash_attention_2",
"bos_token_id": 151643,
"do_sample": true,
"eos_token_id": [
151645,
151643
],
"pad_token_id": 151643,
"repetition_penalty": 1.05,
"temperature": 1e-06,
"transformers_version": "4.49.0"
}

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:82e066865117efc3410323d4c4bc3022846b2da449f4c7c28cdeaf28de0d0781
size 6178317632

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3abe0027365e6603b021a4671f1b91a6b82a0c7fdbba78b82ad895f3a72dc5f8
size 1822850368

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:59a57561032bbe89397fd35b956e76f7d5e63587c4d38f98390250f2df5e8516
size 1929903424

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:023b97965bd9212782e4485d2642b1ee8519721346735ef41e9a4cd61d7b67b7
size 2674769152

BIN
images/example_1.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

3
images/example_2.png Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f92cb56983169f3a2ecc38e954f8ad72ad73f3ab8cfac60457fb3d03ecf82328
size 260943

3
images/example_3.png Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e6d6eb7e4f82875fb0f282607e6088bc685bf0ce2a99450b2eeaef367dde84df
size 1064438

151388
merges.txt Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:529c9ad0489f963641373b7eaf092fbdaeacc43b6cd96f23898c4f886035b775
size 4997750128

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fe22231694a8f501f09ef2794bf307db1c0114f54185256856d84f8adae446e5
size 2511586992

View File

@@ -0,0 +1,831 @@
{
"metadata": {
"total_size": 7509245952
},
"weight_map": {
"model.embed_tokens.weight": "model-00001-of-00002.safetensors",
"model.layers.0.input_layernorm.weight": "model-00001-of-00002.safetensors",
"model.layers.0.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.0.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.0.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.0.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
"model.layers.0.self_attn.k_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.0.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.0.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.0.self_attn.q_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.0.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.0.self_attn.v_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.0.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.1.input_layernorm.weight": "model-00001-of-00002.safetensors",
"model.layers.1.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.1.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.1.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.1.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
"model.layers.1.self_attn.k_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.1.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.1.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.1.self_attn.q_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.1.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.1.self_attn.v_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.1.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.10.input_layernorm.weight": "model-00001-of-00002.safetensors",
"model.layers.10.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.10.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.10.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.10.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
"model.layers.10.self_attn.k_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.10.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.10.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.10.self_attn.q_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.10.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.10.self_attn.v_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.10.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.11.input_layernorm.weight": "model-00001-of-00002.safetensors",
"model.layers.11.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.11.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.11.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.11.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
"model.layers.11.self_attn.k_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.11.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.11.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.11.self_attn.q_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.11.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.11.self_attn.v_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.11.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.12.input_layernorm.weight": "model-00001-of-00002.safetensors",
"model.layers.12.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.12.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.12.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.12.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
"model.layers.12.self_attn.k_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.12.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.12.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.12.self_attn.q_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.12.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.12.self_attn.v_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.12.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.13.input_layernorm.weight": "model-00001-of-00002.safetensors",
"model.layers.13.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.13.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.13.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.13.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
"model.layers.13.self_attn.k_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.13.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.13.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.13.self_attn.q_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.13.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.13.self_attn.v_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.13.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.14.input_layernorm.weight": "model-00001-of-00002.safetensors",
"model.layers.14.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.14.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.14.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.14.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
"model.layers.14.self_attn.k_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.14.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.14.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.14.self_attn.q_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.14.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.14.self_attn.v_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.14.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.15.input_layernorm.weight": "model-00001-of-00002.safetensors",
"model.layers.15.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.15.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.15.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.15.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
"model.layers.15.self_attn.k_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.15.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.15.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.15.self_attn.q_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.15.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.15.self_attn.v_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.15.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.16.input_layernorm.weight": "model-00001-of-00002.safetensors",
"model.layers.16.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.16.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.16.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.16.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
"model.layers.16.self_attn.k_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.16.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.16.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.16.self_attn.q_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.16.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.16.self_attn.v_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.16.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.17.input_layernorm.weight": "model-00001-of-00002.safetensors",
"model.layers.17.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.17.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.17.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.17.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
"model.layers.17.self_attn.k_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.17.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.17.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.17.self_attn.q_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.17.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.17.self_attn.v_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.17.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.18.input_layernorm.weight": "model-00001-of-00002.safetensors",
"model.layers.18.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.18.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.18.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.18.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
"model.layers.18.self_attn.k_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.18.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.18.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.18.self_attn.q_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.18.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.18.self_attn.v_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.18.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.19.input_layernorm.weight": "model-00002-of-00002.safetensors",
"model.layers.19.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.19.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.19.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.19.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
"model.layers.19.self_attn.k_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.19.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.19.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.19.self_attn.q_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.19.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.19.self_attn.v_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.19.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.2.input_layernorm.weight": "model-00001-of-00002.safetensors",
"model.layers.2.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.2.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.2.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.2.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
"model.layers.2.self_attn.k_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.2.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.2.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.2.self_attn.q_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.2.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.2.self_attn.v_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.2.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.20.input_layernorm.weight": "model-00002-of-00002.safetensors",
"model.layers.20.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.20.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.20.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.20.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
"model.layers.20.self_attn.k_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.20.self_attn.k_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.20.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.20.self_attn.q_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.20.self_attn.q_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.20.self_attn.v_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.20.self_attn.v_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.21.input_layernorm.weight": "model-00002-of-00002.safetensors",
"model.layers.21.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.21.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.21.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.21.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
"model.layers.21.self_attn.k_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.21.self_attn.k_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.21.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.21.self_attn.q_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.21.self_attn.q_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.21.self_attn.v_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.21.self_attn.v_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.22.input_layernorm.weight": "model-00002-of-00002.safetensors",
"model.layers.22.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.22.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.22.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.22.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
"model.layers.22.self_attn.k_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.22.self_attn.k_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.22.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.22.self_attn.q_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.22.self_attn.q_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.22.self_attn.v_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.22.self_attn.v_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.23.input_layernorm.weight": "model-00002-of-00002.safetensors",
"model.layers.23.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.23.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.23.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.23.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
"model.layers.23.self_attn.k_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.23.self_attn.k_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.23.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.23.self_attn.q_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.23.self_attn.q_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.23.self_attn.v_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.23.self_attn.v_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.24.input_layernorm.weight": "model-00002-of-00002.safetensors",
"model.layers.24.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.24.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.24.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.24.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
"model.layers.24.self_attn.k_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.24.self_attn.k_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.24.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.24.self_attn.q_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.24.self_attn.q_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.24.self_attn.v_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.24.self_attn.v_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.25.input_layernorm.weight": "model-00002-of-00002.safetensors",
"model.layers.25.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.25.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.25.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.25.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
"model.layers.25.self_attn.k_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.25.self_attn.k_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.25.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.25.self_attn.q_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.25.self_attn.q_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.25.self_attn.v_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.25.self_attn.v_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.26.input_layernorm.weight": "model-00002-of-00002.safetensors",
"model.layers.26.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.26.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.26.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.26.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
"model.layers.26.self_attn.k_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.26.self_attn.k_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.26.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.26.self_attn.q_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.26.self_attn.q_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.26.self_attn.v_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.26.self_attn.v_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.27.input_layernorm.weight": "model-00002-of-00002.safetensors",
"model.layers.27.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.27.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.27.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.27.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
"model.layers.27.self_attn.k_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.27.self_attn.k_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.27.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.27.self_attn.q_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.27.self_attn.q_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.27.self_attn.v_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.27.self_attn.v_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.28.input_layernorm.weight": "model-00002-of-00002.safetensors",
"model.layers.28.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.28.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.28.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.28.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
"model.layers.28.self_attn.k_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.28.self_attn.k_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.28.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.28.self_attn.q_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.28.self_attn.q_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.28.self_attn.v_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.28.self_attn.v_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.29.input_layernorm.weight": "model-00002-of-00002.safetensors",
"model.layers.29.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.29.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.29.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.29.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
"model.layers.29.self_attn.k_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.29.self_attn.k_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.29.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.29.self_attn.q_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.29.self_attn.q_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.29.self_attn.v_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.29.self_attn.v_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.3.input_layernorm.weight": "model-00001-of-00002.safetensors",
"model.layers.3.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.3.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.3.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.3.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
"model.layers.3.self_attn.k_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.3.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.3.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.3.self_attn.q_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.3.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.3.self_attn.v_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.3.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.30.input_layernorm.weight": "model-00002-of-00002.safetensors",
"model.layers.30.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.30.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.30.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.30.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
"model.layers.30.self_attn.k_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.30.self_attn.k_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.30.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.30.self_attn.q_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.30.self_attn.q_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.30.self_attn.v_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.30.self_attn.v_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.31.input_layernorm.weight": "model-00002-of-00002.safetensors",
"model.layers.31.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.31.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.31.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.31.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
"model.layers.31.self_attn.k_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.31.self_attn.k_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.31.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.31.self_attn.q_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.31.self_attn.q_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.31.self_attn.v_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.31.self_attn.v_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.32.input_layernorm.weight": "model-00002-of-00002.safetensors",
"model.layers.32.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.32.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.32.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.32.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
"model.layers.32.self_attn.k_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.32.self_attn.k_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.32.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.32.self_attn.q_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.32.self_attn.q_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.32.self_attn.v_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.32.self_attn.v_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.33.input_layernorm.weight": "model-00002-of-00002.safetensors",
"model.layers.33.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.33.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.33.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.33.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
"model.layers.33.self_attn.k_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.33.self_attn.k_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.33.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.33.self_attn.q_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.33.self_attn.q_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.33.self_attn.v_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.33.self_attn.v_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.34.input_layernorm.weight": "model-00002-of-00002.safetensors",
"model.layers.34.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.34.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.34.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.34.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
"model.layers.34.self_attn.k_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.34.self_attn.k_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.34.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.34.self_attn.q_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.34.self_attn.q_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.34.self_attn.v_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.34.self_attn.v_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.35.input_layernorm.weight": "model-00002-of-00002.safetensors",
"model.layers.35.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.35.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.35.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.35.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
"model.layers.35.self_attn.k_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.35.self_attn.k_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.35.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.35.self_attn.q_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.35.self_attn.q_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.35.self_attn.v_proj.bias": "model-00002-of-00002.safetensors",
"model.layers.35.self_attn.v_proj.weight": "model-00002-of-00002.safetensors",
"model.layers.4.input_layernorm.weight": "model-00001-of-00002.safetensors",
"model.layers.4.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.4.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.4.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.4.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
"model.layers.4.self_attn.k_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.4.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.4.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.4.self_attn.q_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.4.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.4.self_attn.v_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.4.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.5.input_layernorm.weight": "model-00001-of-00002.safetensors",
"model.layers.5.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.5.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.5.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.5.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
"model.layers.5.self_attn.k_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.5.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.5.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.5.self_attn.q_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.5.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.5.self_attn.v_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.5.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.6.input_layernorm.weight": "model-00001-of-00002.safetensors",
"model.layers.6.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.6.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.6.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.6.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
"model.layers.6.self_attn.k_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.6.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.6.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.6.self_attn.q_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.6.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.6.self_attn.v_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.6.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.7.input_layernorm.weight": "model-00001-of-00002.safetensors",
"model.layers.7.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.7.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.7.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.7.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
"model.layers.7.self_attn.k_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.7.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.7.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.7.self_attn.q_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.7.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.7.self_attn.v_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.7.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.8.input_layernorm.weight": "model-00001-of-00002.safetensors",
"model.layers.8.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.8.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.8.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.8.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
"model.layers.8.self_attn.k_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.8.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.8.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.8.self_attn.q_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.8.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.8.self_attn.v_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.8.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.9.input_layernorm.weight": "model-00001-of-00002.safetensors",
"model.layers.9.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.9.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.9.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.9.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
"model.layers.9.self_attn.k_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.9.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.9.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.9.self_attn.q_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.9.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
"model.layers.9.self_attn.v_proj.bias": "model-00001-of-00002.safetensors",
"model.layers.9.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
"model.norm.weight": "model-00002-of-00002.safetensors",
"visual.blocks.0.attn.proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.0.attn.proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.0.attn.qkv.bias": "model-00001-of-00002.safetensors",
"visual.blocks.0.attn.qkv.weight": "model-00001-of-00002.safetensors",
"visual.blocks.0.mlp.down_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.0.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.0.mlp.gate_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.0.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.0.mlp.up_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.0.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.0.norm1.weight": "model-00001-of-00002.safetensors",
"visual.blocks.0.norm2.weight": "model-00001-of-00002.safetensors",
"visual.blocks.1.attn.proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.1.attn.proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.1.attn.qkv.bias": "model-00001-of-00002.safetensors",
"visual.blocks.1.attn.qkv.weight": "model-00001-of-00002.safetensors",
"visual.blocks.1.mlp.down_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.1.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.1.mlp.gate_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.1.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.1.mlp.up_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.1.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.1.norm1.weight": "model-00001-of-00002.safetensors",
"visual.blocks.1.norm2.weight": "model-00001-of-00002.safetensors",
"visual.blocks.10.attn.proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.10.attn.proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.10.attn.qkv.bias": "model-00001-of-00002.safetensors",
"visual.blocks.10.attn.qkv.weight": "model-00001-of-00002.safetensors",
"visual.blocks.10.mlp.down_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.10.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.10.mlp.gate_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.10.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.10.mlp.up_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.10.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.10.norm1.weight": "model-00001-of-00002.safetensors",
"visual.blocks.10.norm2.weight": "model-00001-of-00002.safetensors",
"visual.blocks.11.attn.proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.11.attn.proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.11.attn.qkv.bias": "model-00001-of-00002.safetensors",
"visual.blocks.11.attn.qkv.weight": "model-00001-of-00002.safetensors",
"visual.blocks.11.mlp.down_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.11.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.11.mlp.gate_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.11.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.11.mlp.up_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.11.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.11.norm1.weight": "model-00001-of-00002.safetensors",
"visual.blocks.11.norm2.weight": "model-00001-of-00002.safetensors",
"visual.blocks.12.attn.proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.12.attn.proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.12.attn.qkv.bias": "model-00001-of-00002.safetensors",
"visual.blocks.12.attn.qkv.weight": "model-00001-of-00002.safetensors",
"visual.blocks.12.mlp.down_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.12.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.12.mlp.gate_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.12.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.12.mlp.up_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.12.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.12.norm1.weight": "model-00001-of-00002.safetensors",
"visual.blocks.12.norm2.weight": "model-00001-of-00002.safetensors",
"visual.blocks.13.attn.proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.13.attn.proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.13.attn.qkv.bias": "model-00001-of-00002.safetensors",
"visual.blocks.13.attn.qkv.weight": "model-00001-of-00002.safetensors",
"visual.blocks.13.mlp.down_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.13.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.13.mlp.gate_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.13.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.13.mlp.up_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.13.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.13.norm1.weight": "model-00001-of-00002.safetensors",
"visual.blocks.13.norm2.weight": "model-00001-of-00002.safetensors",
"visual.blocks.14.attn.proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.14.attn.proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.14.attn.qkv.bias": "model-00001-of-00002.safetensors",
"visual.blocks.14.attn.qkv.weight": "model-00001-of-00002.safetensors",
"visual.blocks.14.mlp.down_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.14.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.14.mlp.gate_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.14.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.14.mlp.up_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.14.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.14.norm1.weight": "model-00001-of-00002.safetensors",
"visual.blocks.14.norm2.weight": "model-00001-of-00002.safetensors",
"visual.blocks.15.attn.proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.15.attn.proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.15.attn.qkv.bias": "model-00001-of-00002.safetensors",
"visual.blocks.15.attn.qkv.weight": "model-00001-of-00002.safetensors",
"visual.blocks.15.mlp.down_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.15.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.15.mlp.gate_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.15.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.15.mlp.up_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.15.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.15.norm1.weight": "model-00001-of-00002.safetensors",
"visual.blocks.15.norm2.weight": "model-00001-of-00002.safetensors",
"visual.blocks.16.attn.proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.16.attn.proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.16.attn.qkv.bias": "model-00001-of-00002.safetensors",
"visual.blocks.16.attn.qkv.weight": "model-00001-of-00002.safetensors",
"visual.blocks.16.mlp.down_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.16.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.16.mlp.gate_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.16.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.16.mlp.up_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.16.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.16.norm1.weight": "model-00001-of-00002.safetensors",
"visual.blocks.16.norm2.weight": "model-00001-of-00002.safetensors",
"visual.blocks.17.attn.proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.17.attn.proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.17.attn.qkv.bias": "model-00001-of-00002.safetensors",
"visual.blocks.17.attn.qkv.weight": "model-00001-of-00002.safetensors",
"visual.blocks.17.mlp.down_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.17.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.17.mlp.gate_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.17.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.17.mlp.up_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.17.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.17.norm1.weight": "model-00001-of-00002.safetensors",
"visual.blocks.17.norm2.weight": "model-00001-of-00002.safetensors",
"visual.blocks.18.attn.proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.18.attn.proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.18.attn.qkv.bias": "model-00001-of-00002.safetensors",
"visual.blocks.18.attn.qkv.weight": "model-00001-of-00002.safetensors",
"visual.blocks.18.mlp.down_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.18.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.18.mlp.gate_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.18.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.18.mlp.up_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.18.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.18.norm1.weight": "model-00001-of-00002.safetensors",
"visual.blocks.18.norm2.weight": "model-00001-of-00002.safetensors",
"visual.blocks.19.attn.proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.19.attn.proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.19.attn.qkv.bias": "model-00001-of-00002.safetensors",
"visual.blocks.19.attn.qkv.weight": "model-00001-of-00002.safetensors",
"visual.blocks.19.mlp.down_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.19.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.19.mlp.gate_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.19.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.19.mlp.up_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.19.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.19.norm1.weight": "model-00001-of-00002.safetensors",
"visual.blocks.19.norm2.weight": "model-00001-of-00002.safetensors",
"visual.blocks.2.attn.proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.2.attn.proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.2.attn.qkv.bias": "model-00001-of-00002.safetensors",
"visual.blocks.2.attn.qkv.weight": "model-00001-of-00002.safetensors",
"visual.blocks.2.mlp.down_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.2.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.2.mlp.gate_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.2.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.2.mlp.up_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.2.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.2.norm1.weight": "model-00001-of-00002.safetensors",
"visual.blocks.2.norm2.weight": "model-00001-of-00002.safetensors",
"visual.blocks.20.attn.proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.20.attn.proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.20.attn.qkv.bias": "model-00001-of-00002.safetensors",
"visual.blocks.20.attn.qkv.weight": "model-00001-of-00002.safetensors",
"visual.blocks.20.mlp.down_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.20.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.20.mlp.gate_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.20.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.20.mlp.up_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.20.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.20.norm1.weight": "model-00001-of-00002.safetensors",
"visual.blocks.20.norm2.weight": "model-00001-of-00002.safetensors",
"visual.blocks.21.attn.proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.21.attn.proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.21.attn.qkv.bias": "model-00001-of-00002.safetensors",
"visual.blocks.21.attn.qkv.weight": "model-00001-of-00002.safetensors",
"visual.blocks.21.mlp.down_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.21.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.21.mlp.gate_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.21.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.21.mlp.up_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.21.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.21.norm1.weight": "model-00001-of-00002.safetensors",
"visual.blocks.21.norm2.weight": "model-00001-of-00002.safetensors",
"visual.blocks.22.attn.proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.22.attn.proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.22.attn.qkv.bias": "model-00001-of-00002.safetensors",
"visual.blocks.22.attn.qkv.weight": "model-00001-of-00002.safetensors",
"visual.blocks.22.mlp.down_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.22.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.22.mlp.gate_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.22.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.22.mlp.up_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.22.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.22.norm1.weight": "model-00001-of-00002.safetensors",
"visual.blocks.22.norm2.weight": "model-00001-of-00002.safetensors",
"visual.blocks.23.attn.proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.23.attn.proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.23.attn.qkv.bias": "model-00001-of-00002.safetensors",
"visual.blocks.23.attn.qkv.weight": "model-00001-of-00002.safetensors",
"visual.blocks.23.mlp.down_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.23.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.23.mlp.gate_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.23.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.23.mlp.up_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.23.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.23.norm1.weight": "model-00001-of-00002.safetensors",
"visual.blocks.23.norm2.weight": "model-00001-of-00002.safetensors",
"visual.blocks.24.attn.proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.24.attn.proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.24.attn.qkv.bias": "model-00001-of-00002.safetensors",
"visual.blocks.24.attn.qkv.weight": "model-00001-of-00002.safetensors",
"visual.blocks.24.mlp.down_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.24.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.24.mlp.gate_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.24.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.24.mlp.up_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.24.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.24.norm1.weight": "model-00001-of-00002.safetensors",
"visual.blocks.24.norm2.weight": "model-00001-of-00002.safetensors",
"visual.blocks.25.attn.proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.25.attn.proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.25.attn.qkv.bias": "model-00001-of-00002.safetensors",
"visual.blocks.25.attn.qkv.weight": "model-00001-of-00002.safetensors",
"visual.blocks.25.mlp.down_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.25.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.25.mlp.gate_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.25.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.25.mlp.up_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.25.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.25.norm1.weight": "model-00001-of-00002.safetensors",
"visual.blocks.25.norm2.weight": "model-00001-of-00002.safetensors",
"visual.blocks.26.attn.proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.26.attn.proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.26.attn.qkv.bias": "model-00001-of-00002.safetensors",
"visual.blocks.26.attn.qkv.weight": "model-00001-of-00002.safetensors",
"visual.blocks.26.mlp.down_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.26.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.26.mlp.gate_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.26.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.26.mlp.up_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.26.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.26.norm1.weight": "model-00001-of-00002.safetensors",
"visual.blocks.26.norm2.weight": "model-00001-of-00002.safetensors",
"visual.blocks.27.attn.proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.27.attn.proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.27.attn.qkv.bias": "model-00001-of-00002.safetensors",
"visual.blocks.27.attn.qkv.weight": "model-00001-of-00002.safetensors",
"visual.blocks.27.mlp.down_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.27.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.27.mlp.gate_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.27.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.27.mlp.up_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.27.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.27.norm1.weight": "model-00001-of-00002.safetensors",
"visual.blocks.27.norm2.weight": "model-00001-of-00002.safetensors",
"visual.blocks.28.attn.proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.28.attn.proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.28.attn.qkv.bias": "model-00001-of-00002.safetensors",
"visual.blocks.28.attn.qkv.weight": "model-00001-of-00002.safetensors",
"visual.blocks.28.mlp.down_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.28.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.28.mlp.gate_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.28.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.28.mlp.up_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.28.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.28.norm1.weight": "model-00001-of-00002.safetensors",
"visual.blocks.28.norm2.weight": "model-00001-of-00002.safetensors",
"visual.blocks.29.attn.proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.29.attn.proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.29.attn.qkv.bias": "model-00001-of-00002.safetensors",
"visual.blocks.29.attn.qkv.weight": "model-00001-of-00002.safetensors",
"visual.blocks.29.mlp.down_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.29.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.29.mlp.gate_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.29.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.29.mlp.up_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.29.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.29.norm1.weight": "model-00001-of-00002.safetensors",
"visual.blocks.29.norm2.weight": "model-00001-of-00002.safetensors",
"visual.blocks.3.attn.proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.3.attn.proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.3.attn.qkv.bias": "model-00001-of-00002.safetensors",
"visual.blocks.3.attn.qkv.weight": "model-00001-of-00002.safetensors",
"visual.blocks.3.mlp.down_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.3.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.3.mlp.gate_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.3.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.3.mlp.up_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.3.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.3.norm1.weight": "model-00001-of-00002.safetensors",
"visual.blocks.3.norm2.weight": "model-00001-of-00002.safetensors",
"visual.blocks.30.attn.proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.30.attn.proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.30.attn.qkv.bias": "model-00001-of-00002.safetensors",
"visual.blocks.30.attn.qkv.weight": "model-00001-of-00002.safetensors",
"visual.blocks.30.mlp.down_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.30.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.30.mlp.gate_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.30.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.30.mlp.up_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.30.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.30.norm1.weight": "model-00001-of-00002.safetensors",
"visual.blocks.30.norm2.weight": "model-00001-of-00002.safetensors",
"visual.blocks.31.attn.proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.31.attn.proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.31.attn.qkv.bias": "model-00001-of-00002.safetensors",
"visual.blocks.31.attn.qkv.weight": "model-00001-of-00002.safetensors",
"visual.blocks.31.mlp.down_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.31.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.31.mlp.gate_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.31.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.31.mlp.up_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.31.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.31.norm1.weight": "model-00001-of-00002.safetensors",
"visual.blocks.31.norm2.weight": "model-00001-of-00002.safetensors",
"visual.blocks.4.attn.proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.4.attn.proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.4.attn.qkv.bias": "model-00001-of-00002.safetensors",
"visual.blocks.4.attn.qkv.weight": "model-00001-of-00002.safetensors",
"visual.blocks.4.mlp.down_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.4.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.4.mlp.gate_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.4.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.4.mlp.up_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.4.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.4.norm1.weight": "model-00001-of-00002.safetensors",
"visual.blocks.4.norm2.weight": "model-00001-of-00002.safetensors",
"visual.blocks.5.attn.proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.5.attn.proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.5.attn.qkv.bias": "model-00001-of-00002.safetensors",
"visual.blocks.5.attn.qkv.weight": "model-00001-of-00002.safetensors",
"visual.blocks.5.mlp.down_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.5.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.5.mlp.gate_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.5.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.5.mlp.up_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.5.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.5.norm1.weight": "model-00001-of-00002.safetensors",
"visual.blocks.5.norm2.weight": "model-00001-of-00002.safetensors",
"visual.blocks.6.attn.proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.6.attn.proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.6.attn.qkv.bias": "model-00001-of-00002.safetensors",
"visual.blocks.6.attn.qkv.weight": "model-00001-of-00002.safetensors",
"visual.blocks.6.mlp.down_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.6.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.6.mlp.gate_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.6.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.6.mlp.up_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.6.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.6.norm1.weight": "model-00001-of-00002.safetensors",
"visual.blocks.6.norm2.weight": "model-00001-of-00002.safetensors",
"visual.blocks.7.attn.proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.7.attn.proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.7.attn.qkv.bias": "model-00001-of-00002.safetensors",
"visual.blocks.7.attn.qkv.weight": "model-00001-of-00002.safetensors",
"visual.blocks.7.mlp.down_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.7.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.7.mlp.gate_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.7.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.7.mlp.up_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.7.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.7.norm1.weight": "model-00001-of-00002.safetensors",
"visual.blocks.7.norm2.weight": "model-00001-of-00002.safetensors",
"visual.blocks.8.attn.proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.8.attn.proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.8.attn.qkv.bias": "model-00001-of-00002.safetensors",
"visual.blocks.8.attn.qkv.weight": "model-00001-of-00002.safetensors",
"visual.blocks.8.mlp.down_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.8.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.8.mlp.gate_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.8.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.8.mlp.up_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.8.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.8.norm1.weight": "model-00001-of-00002.safetensors",
"visual.blocks.8.norm2.weight": "model-00001-of-00002.safetensors",
"visual.blocks.9.attn.proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.9.attn.proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.9.attn.qkv.bias": "model-00001-of-00002.safetensors",
"visual.blocks.9.attn.qkv.weight": "model-00001-of-00002.safetensors",
"visual.blocks.9.mlp.down_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.9.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.9.mlp.gate_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.9.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.9.mlp.up_proj.bias": "model-00001-of-00002.safetensors",
"visual.blocks.9.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
"visual.blocks.9.norm1.weight": "model-00001-of-00002.safetensors",
"visual.blocks.9.norm2.weight": "model-00001-of-00002.safetensors",
"visual.merger.ln_q.weight": "model-00001-of-00002.safetensors",
"visual.merger.mlp.0.bias": "model-00001-of-00002.safetensors",
"visual.merger.mlp.0.weight": "model-00001-of-00002.safetensors",
"visual.merger.mlp.2.bias": "model-00001-of-00002.safetensors",
"visual.merger.mlp.2.weight": "model-00001-of-00002.safetensors",
"visual.patch_embed.proj.weight": "model-00001-of-00002.safetensors"
}
}

32
preprocessor_config.json Normal file
View File

@@ -0,0 +1,32 @@
{
"crop_size": null,
"default_to_square": true,
"do_center_crop": null,
"do_convert_rgb": true,
"do_normalize": true,
"do_rescale": true,
"do_resize": true,
"image_mean": [
0.48145466,
0.4578275,
0.40821073
],
"image_processor_type": "Qwen2VLImageProcessorFast",
"image_std": [
0.26862954,
0.26130258,
0.27577711
],
"max_pixels": 501760,
"merge_size": 2,
"min_pixels": 3136,
"patch_size": 14,
"processor_class": "Qwen2_5_VLProcessor",
"resample": 3,
"rescale_factor": 0.00392156862745098,
"size": {
"longest_edge": 1003520,
"shortest_edge": 3136
},
"temporal_patch_size": 2
}

31
special_tokens_map.json Normal file
View File

@@ -0,0 +1,31 @@
{
"additional_special_tokens": [
"<|im_start|>",
"<|im_end|>",
"<|object_ref_start|>",
"<|object_ref_end|>",
"<|box_start|>",
"<|box_end|>",
"<|quad_start|>",
"<|quad_end|>",
"<|vision_start|>",
"<|vision_end|>",
"<|vision_pad|>",
"<|image_pad|>",
"<|video_pad|>"
],
"eos_token": {
"content": "<|im_end|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false
},
"pad_token": {
"content": "<|endoftext|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false
}
}

3
tokenizer.json Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9c5ae00e602b8860cbd784ba82a8aa14e8feecec692e7076590d014d7b7fdafa
size 11421896

212
tokenizer_config.json Normal file
View File

@@ -0,0 +1,212 @@
{
"add_bos_token": false,
"add_prefix_space": false,
"added_tokens_decoder": {
"151643": {
"content": "<|endoftext|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": true
},
"151644": {
"content": "<|im_start|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": true
},
"151645": {
"content": "<|im_end|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": true
},
"151646": {
"content": "<|object_ref_start|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": true
},
"151647": {
"content": "<|object_ref_end|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": true
},
"151648": {
"content": "<|box_start|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": true
},
"151649": {
"content": "<|box_end|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": true
},
"151650": {
"content": "<|quad_start|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": true
},
"151651": {
"content": "<|quad_end|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": true
},
"151652": {
"content": "<|vision_start|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": true
},
"151653": {
"content": "<|vision_end|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": true
},
"151654": {
"content": "<|vision_pad|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": true
},
"151655": {
"content": "<|image_pad|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": true
},
"151656": {
"content": "<|video_pad|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": true
},
"151657": {
"content": "<tool_call>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": false
},
"151658": {
"content": "</tool_call>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": false
},
"151659": {
"content": "<|fim_prefix|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": false
},
"151660": {
"content": "<|fim_middle|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": false
},
"151661": {
"content": "<|fim_suffix|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": false
},
"151662": {
"content": "<|fim_pad|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": false
},
"151663": {
"content": "<|repo_name|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": false
},
"151664": {
"content": "<|file_sep|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": false
}
},
"additional_special_tokens": [
"<|im_start|>",
"<|im_end|>",
"<|object_ref_start|>",
"<|object_ref_end|>",
"<|box_start|>",
"<|box_end|>",
"<|quad_start|>",
"<|quad_end|>",
"<|vision_start|>",
"<|vision_end|>",
"<|vision_pad|>",
"<|image_pad|>",
"<|video_pad|>"
],
"bos_token": null,
"chat_template": "{%- if tools %}\n {{- '<|im_start|>system\\n' }}\n {%- if messages[0]['role'] == 'system' %}\n {{- messages[0]['content'] }}\n {%- else %}\n {{- 'You are a helpful assistant.' }}\n {%- endif %}\n {{- \"\\n\\n# Tools\\n\\nYou may call one or more functions to assist with the user query.\\n\\nYou are provided with function signatures within <tools></tools> XML tags:\\n<tools>\" }}\n {%- for tool in tools %}\n {{- \"\\n\" }}\n {{- tool | tojson }}\n {%- endfor %}\n {{- \"\\n</tools>\\n\\nFor each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:\\n<tool_call>\\n{\\\"name\\\": <function-name>, \\\"arguments\\\": <args-json-object>}\\n</tool_call><|im_end|>\\n\" }}\n{%- else %}\n {%- if messages[0]['role'] == 'system' %}\n {{- '<|im_start|>system\\n' + messages[0]['content'] + '<|im_end|>\\n' }}\n {%- else %}\n {{- '<|im_start|>system\\nYou are a helpful assistant.<|im_end|>\\n' }}\n {%- endif %}\n{%- endif %}\n{%- for message in messages %}\n {%- if (message.role == \"user\") or (message.role == \"system\" and not loop.first) or (message.role == \"assistant\" and not message.tool_calls) %}\n {{- '<|im_start|>' + message.role + '\\n' + message.content + '<|im_end|>' + '\\n' }}\n {%- elif message.role == \"assistant\" %}\n {{- '<|im_start|>' + message.role }}\n {%- if message.content %}\n {{- '\\n' + message.content }}\n {%- endif %}\n {%- for tool_call in message.tool_calls %}\n {%- if tool_call.function is defined %}\n {%- set tool_call = tool_call.function %}\n {%- endif %}\n {{- '\\n<tool_call>\\n{\"name\": \"' }}\n {{- tool_call.name }}\n {{- '\", \"arguments\": ' }}\n {{- tool_call.arguments | tojson }}\n {{- '}\\n</tool_call>' }}\n {%- endfor %}\n {{- '<|im_end|>\\n' }}\n {%- elif message.role == \"tool\" %}\n {%- if (loop.index0 == 0) or (messages[loop.index0 - 1].role != \"tool\") %}\n {{- '<|im_start|>user' }}\n {%- endif %}\n {{- '\\n<tool_response>\\n' }}\n {{- message.content }}\n {{- '\\n</tool_response>' }}\n {%- if loop.last or (messages[loop.index0 + 1].role != \"tool\") %}\n {{- '<|im_end|>\\n' }}\n {%- endif %}\n {%- endif %}\n{%- endfor %}\n{%- if add_generation_prompt %}\n {{- '<|im_start|>assistant\\n' }}\n{%- endif %}\n",
"clean_up_tokenization_spaces": false,
"eos_token": "<|im_end|>",
"errors": "replace",
"extra_special_tokens": {},
"max_pixels": 501760,
"min_pixels": 3136,
"model_max_length": 131072,
"pad_token": "<|endoftext|>",
"processor_class": "Qwen2_5_VLProcessor",
"split_special_tokens": false,
"tokenizer_class": "Qwen2Tokenizer",
"unk_token": null,
"use_fast": true
}

243
train.py Normal file
View File

@@ -0,0 +1,243 @@
import re
import argparse
from dataclasses import dataclass, field
from typing import List
import torch
import wandb
from tqdm import tqdm
from PIL import Image
from datasets import load_dataset
from transformers import (
Qwen2_5_VLForConditionalGeneration,
AutoProcessor,
BitsAndBytesConfig,
)
from qwen_vl_utils import process_vision_info
from peft import LoraConfig, get_peft_model
from trl import SFTConfig, SFTTrainer
def extract_question(raw_text: str) -> str:
pattern = r"<\|start_header_id\|>user<\|end_header_id\|>\s*(.*?)\s*<\|eot_id\|>"
m = re.search(pattern, raw_text, re.DOTALL)
return m.group(1).strip() if m else raw_text.strip()
def format_data_spacethinker(sample):
system_message = {
"role": "system",
"content": [
{
"type": "text",
"text": (
"You are VL-Thinking U+1F914, a helpful assistant with excellent reasoning ability.\n"
"A user asks you a question, and you should try to solve it."
"You should first think about the reasoning process in the mind and then provides the user with the answer.\n"
"The reasoning process and answer are enclosed within <think></think> and <answer></answer> tags, respectively, i.e., <think> reasoning process here </think> <answer> answer here </answer>."
)
}
]
}
formatted = [system_message]
user_msg = {"role": "user", "content": []}
question = extract_question(sample.get("input", ""))
if question:
user_msg["content"].append({"type": "text", "text": question})
images = sample.get("images") or []
if images:
user_msg["content"].append({"type": "image", "image": images[0]})
formatted.append(user_msg)
if sample.get("output"):
formatted.append({
"role": "assistant",
"content": [{"type": "text", "text": sample["output"]}]
})
return formatted
def collate_fn(examples, processor):
# examples: list of formatted samples (list of message dicts)
texts = [processor.apply_chat_template(sample, tokenize=False) for sample in examples]
image_batches = [process_vision_info(sample)[0] for sample in examples]
batch = processor(text=texts, images=image_batches, return_tensors="pt", padding=True)
batch = {k: v.cpu() for k, v in batch.items()}
labels = batch["input_ids"].clone()
labels[labels == processor.tokenizer.pad_token_id] = -100
image_token_ids = (
[151652, 151653, 151655]
if hasattr(processor, "image_processor")
else [processor.tokenizer.convert_tokens_to_ids(processor.image_token)]
)
for tid in image_token_ids:
labels[labels == tid] = -100
batch["labels"] = labels
return batch
@dataclass
class TrainingConfig:
model_id: str = "UCSC-VLAA/VLAA-Thinker-Qwen2.5VL-3B"
dataset_id: str = "remyxai/SpaceThinker"
lora_r: int = 128
lora_alpha: int = 256
lora_dropout: float = 0.05
target_modules: List[str] = field(default_factory=lambda: ["q_proj", "v_proj"])
num_train_epochs: int = 3
train_batch_size: int = 1
eval_batch_size: int = 1
gradient_accumulation_steps: int = 8
learning_rate: float = 2e-5
warmup_ratio: float = 0.03
output_dir: str = "spacethinker-lora"
wandb_project: str = "spacethinker-lora"
wandb_run_name: str = "spacethinker_run"
def parse_args() -> TrainingConfig:
default_cfg = TrainingConfig()
parser = argparse.ArgumentParser(description="Train a VL Spacethinker model with LoRA")
parser.add_argument("--model_id", default=default_cfg.model_id)
parser.add_argument("--dataset_id", default=default_cfg.dataset_id)
parser.add_argument("--lora_r", type=int, default=default_cfg.lora_r)
parser.add_argument("--lora_alpha", type=int, default=default_cfg.lora_alpha)
parser.add_argument("--lora_dropout", type=float, default=default_cfg.lora_dropout)
parser.add_argument(
"--target_modules",
default=','.join(default_cfg.target_modules),
help="Comma-separated list of target modules for LoRA"
)
parser.add_argument("--num_train_epochs", type=int, default=default_cfg.num_train_epochs)
parser.add_argument("--train_batch_size", type=int, default=default_cfg.train_batch_size)
parser.add_argument("--eval_batch_size", type=int, default=default_cfg.eval_batch_size)
parser.add_argument(
"--gradient_accumulation_steps", type=int, default=default_cfg.gradient_accumulation_steps
)
parser.add_argument("--learning_rate", type=float, default=default_cfg.learning_rate)
parser.add_argument("--warmup_ratio", type=float, default=default_cfg.warmup_ratio)
parser.add_argument("--output_dir", default=default_cfg.output_dir)
parser.add_argument("--wandb_project", default=default_cfg.wandb_project)
parser.add_argument("--wandb_run_name", default=default_cfg.wandb_run_name)
args = parser.parse_args()
return TrainingConfig(
model_id=args.model_id,
dataset_id=args.dataset_id,
lora_r=args.lora_r,
lora_alpha=args.lora_alpha,
lora_dropout=args.lora_dropout,
target_modules=args.target_modules.split(","),
num_train_epochs=args.num_train_epochs,
train_batch_size=args.train_batch_size,
eval_batch_size=args.eval_batch_size,
gradient_accumulation_steps=args.gradient_accumulation_steps,
learning_rate=args.learning_rate,
warmup_ratio=args.warmup_ratio,
output_dir=args.output_dir,
wandb_project=args.wandb_project,
wandb_run_name=args.wandb_run_name,
)
def prepare_datasets(cfg: TrainingConfig):
print(f"Loading dataset: {cfg.dataset_id}")
raw_train = load_dataset(cfg.dataset_id, split="train")
raw_eval = load_dataset(cfg.dataset_id, split="test")
print("Formatting train samples…")
train_ds = [format_data_spacethinker(s) for s in tqdm(raw_train, desc="Train")]
print("Formatting eval samples…")
eval_ds = [format_data_spacethinker(s) for s in tqdm(raw_eval, desc="Eval")]
return train_ds, eval_ds
def prepare_model_and_optimizer(cfg: TrainingConfig):
bnb = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_use_double_quant=True,
bnb_4bit_quant_type="nf4",
bnb_4bit_compute_dtype=torch.bfloat16
)
model = Qwen2_5_VLForConditionalGeneration.from_pretrained(
cfg.model_id,
device_map="auto",
torch_dtype=torch.bfloat16,
quantization_config=bnb
)
processor = AutoProcessor.from_pretrained(cfg.model_id)
peft_cfg = LoraConfig(
r=cfg.lora_r,
lora_alpha=cfg.lora_alpha,
lora_dropout=cfg.lora_dropout,
bias="none",
target_modules=cfg.target_modules,
task_type="CAUSAL_LM",
)
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
peft_model = get_peft_model(model, peft_cfg).to(device)
peft_model.print_trainable_parameters()
return peft_model, processor, peft_cfg
def main():
cfg = parse_args()
train_ds, eval_ds = prepare_datasets(cfg)
model, processor, peft_cfg = prepare_model_and_optimizer(cfg)
sft_args = SFTConfig(
output_dir=cfg.output_dir,
num_train_epochs=cfg.num_train_epochs,
per_device_train_batch_size=cfg.train_batch_size,
per_device_eval_batch_size=cfg.eval_batch_size,
gradient_accumulation_steps=cfg.gradient_accumulation_steps,
gradient_checkpointing=True,
optim="adamw_torch_fused",
learning_rate=cfg.learning_rate,
lr_scheduler_type="constant",
logging_steps=10,
eval_steps=10,
eval_strategy="steps",
save_strategy="steps",
save_steps=20,
metric_for_best_model="eval_loss",
greater_is_better=False,
load_best_model_at_end=True,
bf16=True,
tf32=True,
max_grad_norm=0.3,
warmup_ratio=cfg.warmup_ratio,
gradient_checkpointing_kwargs={"use_reentrant": False},
push_to_hub=True,
report_to="wandb",
dataset_kwargs={"skip_prepare_dataset": True},
)
sft_args.remove_unused_columns = False
wandb.init(
project=cfg.wandb_project,
name=cfg.wandb_run_name,
config=sft_args,
)
trainer = SFTTrainer(
model=model,
args=sft_args,
train_dataset=train_ds,
eval_dataset=eval_ds,
data_collator=lambda ex: collate_fn(ex, processor),
peft_config=peft_cfg,
tokenizer=processor.tokenizer,
)
trainer.train()
trainer.save_model(cfg.output_dir)
if __name__ == "__main__":
main()

1
vocab.json Normal file

File diff suppressed because one or more lines are too long