From 02577ac701235e3db989888ed508a483c46b2dc3 Mon Sep 17 00:00:00 2001 From: ModelHub XC Date: Sat, 29 Aug 2026 13:42:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=EF=BC=8C=E7=94=B1ModelHub=20XC=E7=A4=BE=E5=8C=BA=E6=8F=90?= =?UTF-8?q?=E4=BE=9B=E6=A8=A1=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Model: Hcompany/Holo1.5-7B Source: Original Platform --- .eval_results/screenspot_pro.yaml | 242 ++++++++++ .gitattributes | 55 +++ README.md | 140 ++++++ added_tokens.json | 24 + chat_template.json | 3 + config.json | 135 ++++++ configuration.json | 1 + generation_config.json | 12 + merges.txt | 3 + model-00001-of-00004.safetensors | 3 + model-00002-of-00004.safetensors | 3 + model-00003-of-00004.safetensors | 3 + model-00004-of-00004.safetensors | 3 + model.safetensors.index.json | 737 +++++++++++++++++++++++++++++ preprocessor_config.json | 37 ++ rc1_loc_charts_white.png | Bin 0 -> 99809 bytes rc1_loc_pareto_white.png | Bin 0 -> 170783 bytes special_tokens_map.json | 31 ++ tokenizer.json | 3 + tokenizer_config.json | 215 +++++++++ video_preprocessor_config.json | 44 ++ vocab.json | 3 + zero_to_fp32.py | 760 ++++++++++++++++++++++++++++++ 23 files changed, 2457 insertions(+) create mode 100644 .eval_results/screenspot_pro.yaml create mode 100644 .gitattributes create mode 100644 README.md create mode 100644 added_tokens.json create mode 100644 chat_template.json create mode 100644 config.json create mode 100644 configuration.json create mode 100644 generation_config.json create mode 100644 merges.txt create mode 100644 model-00001-of-00004.safetensors create mode 100644 model-00002-of-00004.safetensors create mode 100644 model-00003-of-00004.safetensors create mode 100644 model-00004-of-00004.safetensors create mode 100644 model.safetensors.index.json create mode 100644 preprocessor_config.json create mode 100644 rc1_loc_charts_white.png create mode 100644 rc1_loc_pareto_white.png create mode 100644 special_tokens_map.json create mode 100644 tokenizer.json create mode 100644 tokenizer_config.json create mode 100644 video_preprocessor_config.json create mode 100644 vocab.json create mode 100644 zero_to_fp32.py diff --git a/.eval_results/screenspot_pro.yaml b/.eval_results/screenspot_pro.yaml new file mode 100644 index 0000000..31d084a --- /dev/null +++ b/.eval_results/screenspot_pro.yaml @@ -0,0 +1,242 @@ +- dataset: + id: likaixin/ScreenSpot-Pro + task_id: overall + value: 57.9 + source: + url: https://gui-agent.github.io/grounding-leaderboard/ + name: ScreenSpot-Pro Leaderboard + user: merve + +- dataset: + id: likaixin/ScreenSpot-Pro + task_id: android_studio_macos + value: 48.8 + source: + url: https://gui-agent.github.io/grounding-leaderboard/ + name: ScreenSpot-Pro Leaderboard + user: merve + +- dataset: + id: likaixin/ScreenSpot-Pro + task_id: autocad_windows + value: 32.4 + source: + url: https://gui-agent.github.io/grounding-leaderboard/ + name: ScreenSpot-Pro Leaderboard + user: merve + +- dataset: + id: likaixin/ScreenSpot-Pro + task_id: blender_windows + value: 52.1 + source: + url: https://gui-agent.github.io/grounding-leaderboard/ + name: ScreenSpot-Pro Leaderboard + user: merve + +- dataset: + id: likaixin/ScreenSpot-Pro + task_id: davinci_macos + value: 50.0 + source: + url: https://gui-agent.github.io/grounding-leaderboard/ + name: ScreenSpot-Pro Leaderboard + user: merve + +- dataset: + id: likaixin/ScreenSpot-Pro + task_id: eviews_windows + value: 98.0 + source: + url: https://gui-agent.github.io/grounding-leaderboard/ + name: ScreenSpot-Pro Leaderboard + user: merve + +- dataset: + id: likaixin/ScreenSpot-Pro + task_id: excel_macos + value: 60.9 + source: + url: https://gui-agent.github.io/grounding-leaderboard/ + name: ScreenSpot-Pro Leaderboard + user: merve + +- dataset: + id: likaixin/ScreenSpot-Pro + task_id: fruitloops_windows + value: 38.6 + source: + url: https://gui-agent.github.io/grounding-leaderboard/ + name: ScreenSpot-Pro Leaderboard + user: merve + +- dataset: + id: likaixin/ScreenSpot-Pro + task_id: illustrator_windows + value: 32.3 + source: + url: https://gui-agent.github.io/grounding-leaderboard/ + name: ScreenSpot-Pro Leaderboard + user: merve + +- dataset: + id: likaixin/ScreenSpot-Pro + task_id: inventor_windows + value: 48.6 + source: + url: https://gui-agent.github.io/grounding-leaderboard/ + name: ScreenSpot-Pro Leaderboard + user: merve + +- dataset: + id: likaixin/ScreenSpot-Pro + task_id: linux_common_linux + value: 54.0 + source: + url: https://gui-agent.github.io/grounding-leaderboard/ + name: ScreenSpot-Pro Leaderboard + user: merve + +- dataset: + id: likaixin/ScreenSpot-Pro + task_id: macos_common_macos + value: 46.2 + source: + url: https://gui-agent.github.io/grounding-leaderboard/ + name: ScreenSpot-Pro Leaderboard + user: merve + +- dataset: + id: likaixin/ScreenSpot-Pro + task_id: matlab_macos + value: 77.4 + source: + url: https://gui-agent.github.io/grounding-leaderboard/ + name: ScreenSpot-Pro Leaderboard + user: merve + +- dataset: + id: likaixin/ScreenSpot-Pro + task_id: origin_windows + value: 29.0 + source: + url: https://gui-agent.github.io/grounding-leaderboard/ + name: ScreenSpot-Pro Leaderboard + user: merve + +- dataset: + id: likaixin/ScreenSpot-Pro + task_id: photoshop_windows + value: 62.7 + source: + url: https://gui-agent.github.io/grounding-leaderboard/ + name: ScreenSpot-Pro Leaderboard + user: merve + +- dataset: + id: likaixin/ScreenSpot-Pro + task_id: powerpoint_windows + value: 78.0 + source: + url: https://gui-agent.github.io/grounding-leaderboard/ + name: ScreenSpot-Pro Leaderboard + user: merve + +- dataset: + id: likaixin/ScreenSpot-Pro + task_id: premiere_windows + value: 51.9 + source: + url: https://gui-agent.github.io/grounding-leaderboard/ + name: ScreenSpot-Pro Leaderboard + user: merve + +- dataset: + id: likaixin/ScreenSpot-Pro + task_id: pycharm_macos + value: 64.1 + source: + url: https://gui-agent.github.io/grounding-leaderboard/ + name: ScreenSpot-Pro Leaderboard + user: merve + +- dataset: + id: likaixin/ScreenSpot-Pro + task_id: quartus_windows + value: 55.6 + source: + url: https://gui-agent.github.io/grounding-leaderboard/ + name: ScreenSpot-Pro Leaderboard + user: merve + +- dataset: + id: likaixin/ScreenSpot-Pro + task_id: solidworks_windows + value: 35.1 + source: + url: https://gui-agent.github.io/grounding-leaderboard/ + name: ScreenSpot-Pro Leaderboard + user: merve + +- dataset: + id: likaixin/ScreenSpot-Pro + task_id: stata_windows + value: 55.1 + source: + url: https://gui-agent.github.io/grounding-leaderboard/ + name: ScreenSpot-Pro Leaderboard + user: merve + +- dataset: + id: likaixin/ScreenSpot-Pro + task_id: unreal_engine_windows + value: 62.9 + source: + url: https://gui-agent.github.io/grounding-leaderboard/ + name: ScreenSpot-Pro Leaderboard + user: merve + +- dataset: + id: likaixin/ScreenSpot-Pro + task_id: vivado_windows + value: 67.5 + source: + url: https://gui-agent.github.io/grounding-leaderboard/ + name: ScreenSpot-Pro Leaderboard + user: merve + +- dataset: + id: likaixin/ScreenSpot-Pro + task_id: vmware_macos + value: 78.0 + source: + url: https://gui-agent.github.io/grounding-leaderboard/ + name: ScreenSpot-Pro Leaderboard + user: merve + +- dataset: + id: likaixin/ScreenSpot-Pro + task_id: vscode_macos + value: 65.5 + source: + url: https://gui-agent.github.io/grounding-leaderboard/ + name: ScreenSpot-Pro Leaderboard + user: merve + +- dataset: + id: likaixin/ScreenSpot-Pro + task_id: windows_common_windows + value: 46.9 + source: + url: https://gui-agent.github.io/grounding-leaderboard/ + name: ScreenSpot-Pro Leaderboard + user: merve + +- dataset: + id: likaixin/ScreenSpot-Pro + task_id: word_macos + value: 85.7 + source: + url: https://gui-agent.github.io/grounding-leaderboard/ + name: ScreenSpot-Pro Leaderboard + user: merve diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..750e037 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,55 @@ +*.7z filter=lfs diff=lfs merge=lfs -text +*.arrow filter=lfs diff=lfs merge=lfs -text +*.bin filter=lfs diff=lfs merge=lfs -text +*.bin.* filter=lfs diff=lfs merge=lfs -text +*.bz2 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 +*.model filter=lfs diff=lfs merge=lfs -text +*.msgpack 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 +*.pt filter=lfs diff=lfs merge=lfs -text +*.pth filter=lfs diff=lfs merge=lfs -text +*.rar filter=lfs diff=lfs merge=lfs -text +saved_model/**/* 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 +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zstandard filter=lfs diff=lfs merge=lfs -text +*.tfevents* filter=lfs diff=lfs merge=lfs -text +*.db* filter=lfs diff=lfs merge=lfs -text +*.ark* filter=lfs diff=lfs merge=lfs -text +**/*ckpt*data* filter=lfs diff=lfs merge=lfs -text +**/*ckpt*.meta filter=lfs diff=lfs merge=lfs -text +**/*ckpt*.index filter=lfs diff=lfs merge=lfs -text + +*.ckpt filter=lfs diff=lfs merge=lfs -text +*.gguf* filter=lfs diff=lfs merge=lfs -text +*.ggml filter=lfs diff=lfs merge=lfs -text +*.llamafile* filter=lfs diff=lfs merge=lfs -text +*.pt2 filter=lfs diff=lfs merge=lfs -text +*.mlmodel filter=lfs diff=lfs merge=lfs -text +*.npy filter=lfs diff=lfs merge=lfs -text +*.npz filter=lfs diff=lfs merge=lfs -text +*.pickle filter=lfs diff=lfs merge=lfs -text +*.pkl filter=lfs diff=lfs merge=lfs -text +*.tar filter=lfs diff=lfs merge=lfs -text +*.wasm filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text +*tfevents* filter=lfs diff=lfs merge=lfs -text + +merges.txt filter=lfs diff=lfs merge=lfs -text +model-00001-of-00004.safetensors filter=lfs diff=lfs merge=lfs -text +tokenizer.json filter=lfs diff=lfs merge=lfs -text +model-00004-of-00004.safetensors filter=lfs diff=lfs merge=lfs -text +model-00003-of-00004.safetensors filter=lfs diff=lfs merge=lfs -text +model-00002-of-00004.safetensors filter=lfs diff=lfs merge=lfs -text +vocab.json filter=lfs diff=lfs merge=lfs -text \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..2f39a9f --- /dev/null +++ b/README.md @@ -0,0 +1,140 @@ +--- +license: apache-2.0 +language: +- en +base_model: +- Qwen/Qwen2.5-VL-7B-Instruct +pipeline_tag: image-text-to-text +library_name: transformers +tags: +- multimodal +- action +- agent +- pytorch +--- +# **Holo1.5: Foundational Models for Computer Use Agents** +[![GitHub](https://img.shields.io/badge/Holo_1.5_Cookbook-100000?style=for-the-badge&logo=github&logoColor=white)](https://github.com/hcompai/hai-cookbook/blob/main/holo1_5/holo_1_5_quickstart.ipynb) +[![Space](https://img.shields.io/badge/Hugging_Face_Space-FFD21E?style=for-the-badge&logo=huggingface&logoColor=000)](https://huggingface.co/spaces/Hcompany/Holo1.5-Navigation) + +## **Model Description** + +Computer Use (CU) agents are AI systems that can interact with real applications—web, desktop, and mobile—on behalf of a user. They can navigate interfaces, manipulate elements, and answer questions about content, enabling powerful automation and productivity tools. CU agents are becoming increasingly important as they allow humans to delegate complex digital tasks safely and efficiently. + +Our **Holo1.5** series provides state-of-the-art foundational models for building such agents. Holo1.5 models excel at **user interface (UI) localization** and **UI-based question answering (QA)** across web, computer, and mobile environments, with strong performance on benchmarks including [Screenspot-V2](https://huggingface.co/datasets/HongxinLi/ScreenSpot_v2), [Screenspot-Pro](https://huggingface.co/datasets/likaixin/ScreenSpot-Pro), [GroundUI-Web](https://huggingface.co/datasets/agent-studio/GroundUI-1K), [Showdown](https://github.com/generalagents/showdown), and our newly introduced [WebClick](https://huggingface.co/datasets/Hcompany/WebClick). + +The Holo1.5 family comes in **three model sizes** to fit different deployment needs: + +- **3B:** inherits its license from Qwen +- **7B:** fully open under Apache 2.0 +- **72B:** research-only license (non-commercial). For commercial use, please contact us. + +These models are designed to provide reliable, accurate, and efficient foundations for next-generation CU agents, like Surfer-H, enabling them to manipulate real applications with unprecedented capability. + +- **Developed by:** [**H Company**](https://www.hcompany.ai/) +- **Model type:** VLM for Computer Use agents +- **Fine-tuned from model:** Qwen/Qwen2.5-VL-7B-Instruct +- **Blog Post:** https://www.hcompany.ai/blog/holo-1-5 +- **License:** Apache 2.0 License + +## Training strategy + +Our models are trained using high-quality proprietary data for UI understanding and action prediction, following a multi-stage training pipeline. The training dataset is a carefully curated mix of open-source datasets, large-scale synthetic data, and human-annotated samples. + +Training proceeds in two stages: large-scale supervised fine-tuning, followed by online reinforcement learning (GRPO). The resulting Holo1.5 models are natively high-resolution (up to 3840 × 2160 pixels), capable of interpreting UIs and performing actions on large, complex screens with accuracy and efficiency. + +## **Results** + +### **Holo1.5: SOTA UI Localization** + +UI Localization refers to an agent’s ability to find the exact positions of elements on a user interface (buttons, text boxes, images, etc.). This capability is essential for Computer Use (CU) agents because, to interact with an application—click a button, fill out a form, or read information—the agent must know where elements are located on the screen. + +Our Holo1.5 models were evaluated on several standard UI localization benchmarks ([Screenspot-V2](https://huggingface.co/datasets/HongxinLi/ScreenSpot_v2), [Screenspot-Pro](https://huggingface.co/datasets/likaixin/ScreenSpot-Pro), [GroundUI-Web](https://huggingface.co/datasets/agent-studio/GroundUI-1K), [Showdown](https://github.com/generalagents/showdown), and our newly introduced [WebClick](https://huggingface.co/datasets/Hcompany/WebClick)) to measure how accurately they can predict these coordinates. + +The results: + +- Our 7B and 72B models outperform all previous models, achieving an average 4.5% improvement in localization accuracy. +- Our 3B model, while smaller, remains competitive with previous 7B models, demonstrating strong capabilities even with fewer resources. + +These results establish a new Pareto frontier in open-source UI localization: the best trade-off yet between model size and localization accuracy, setting a new standard for CU agents. + +

Pareto frontier of UI Localization accuracy versus Model size

+ +

Accuracy of our and competitors' models on UI Localization benchmarks.

+ +| | WebClick | Showdown | ScreenSpot-v2 | ScreenSpot-Pro | Ground-UI-1K | OSWorld-G | Average | +| --- | --- | --- | --- | --- | --- | --- | --- | +| Holo1.5-3B | 81.45 | 67.50 | 91.66 | 51.49 | 83.20 | 61.57 | 72.81 | +| Holo1.5-7B | 90.24 | 72.17 | 93.31 | 57.94 | 84.00 | 66.27 | 77.32 | +| Holo1.5-72B | 92.43 | **76.84** | 94.41 | **63.25** | 84.50 | **71.80** | **80.54** | +| Qwen2.5-VL-3B | 71.20 | *50.30* | *80.00* | *29.30* | 76.40 | 34.31 | 56.92 | +| Qwen2.5-VL-7B | 76.51 | *52.00* | *85.60* | *29.00* | 80.70 | 40.59 | 60.73 | +| Qwen2.5-VL-72B | 88.29 | *41.00* | *93.30* | *55.60* | **85.40** | 61.96 | 70.93 | +| UI-TARS-1.5-7B | 86.10 | *58.00* | *94.00* | *39.00* | 84.20 | 61.40 | 70.45 | +| Holo1-7B | 84.04 | 64.27 | 89.85 | 26.06 | 78.50 | 47.25 | 65.00 | +| Holo1-3B | 79.35 | 59.96 | 88.91 | 23.66 | 74.75 | 42.16 | 61.47 | +| UI-Venus-7B | 84.44 | 67.32 | *94.10* | *50.80* | 82.30 | *58.80* | 72.96 | +| UI-Venus-72B | 77.00 | 75.58 | ***95.30*** | *61.90* | 75.50 | 70.40 | 75.95 | +| Sonnet 4 | **93.00** | 72.00 | 93.00 | 19.10 | 84.00 | 59.60 | 70.12 | + +Table 1: Localization benchmark scores for leading models. Bold values show state-of-the-art performance, scores in italic were obtained from previously reported sources and scores in non-italic were reproduced in-house + +### Holo1.5: SOTA Screen Content Understanding via Question Answering + +While precise localization is essential for GUI agents, it is equally important for models to comprehend the structure and functionality of user interfaces to interact with them effectively. To evaluate these capabilities, we tested our Holo1.5 models on several GUI-focused question answering (QA) benchmarks, including [ScreenQA Short](https://github.com/google-research-datasets/screen_qa), [ScreenQA Complex](https://github.com/google-research-datasets/screen_qa), [VisualWebBench](https://huggingface.co/datasets/visualwebbench/VisualWebBench), and [WebSRC](https://x-lance.github.io/WebSRC/). These benchmarks measure the models’ ability to understand and reason about UIs, ensuring they can perform tasks accurately across diverse applications. + +

Pareto Frontier of UI Question Answering Performance versus Model size

+ +

UI Understanding and Visual Question Answering performance

+ + +| | VisualWebBench | WebSRC | ScreenQAShort | ScreenQAComplex | Average | +| --- | --- | --- | --- | --- | --- | +| Holo1.5-3B | 78.50 | 94.80 | 87.90 | 81.40 | 85.65 | +| Holo1.5-7B | 82.60 | 95.90 | 91.00 | 83.20 | 88.17 | +| Holo1.5-72B | **83.80** | **97.20** | **91.90** | **87.10** | **90.00** | +| Qwen2.5-VL-3B | 58.00 | 93.00 | 86.00 | 76.00 | 78.25 | +| Qwen2.5-VL-7B | 69.00 | 95.00 | 87.00 | 81.10 | 83.02 | +| Qwen2.5-VL-72B | 76.30 | 97.00 | 87.90 | 83.20 | 86.10 | +| UI-TARS-1.5-7B | 79.70 | 92.90 | 88.70 | 79.20 | 85.12 | +| Holo1-3B | 54.10 | 93.90 | 78.30 | 53.50 | 69.95 | +| Holo1-7B | 38.10 | 95.30 | 83.30 | 65.10 | 70.45 | +| UI-Venus-7B | 60.90 | 96.60 | 86.30 | 82.30 | 81.52 | +| UI-Venus-72B | 74.10 | 96.70 | 88.60 | 83.30 | 85.67 | +| Claude-Sonnet-4 | 58.90 | 96.00 | 87.00 | 75.70 | 79.40 | + +Table 2: Screen content QA benchmark scores for leading models. Bold values show state-of-the-art performance + +Holo1.5 models show impressive capabilities in GUI QA tasks by improving on state-of-the-art models by 3.9%. This demonstrates strong visual perception capabilities in web and desktop environments, which is crucial for computer-use agents + +## Demo + +Watch a demo of how to prompt the model in a computer use setting: + + +

+ +

+ +The demo is also live on our Hugging Face [Space](https://huggingface.co/spaces/Hcompany/Holo1.5-Navigation). + + +## Next steps + +Our goal is to build cost-efficient and reliable computer use agents. With the release of Holo1.5, we take an important step toward fostering trust and adoption of this technology. + +This milestone is only the beginning—over the coming weeks, we will be unveiling new tools and agents powered by Holo models. + +Stay tuned—we’re just getting started! + +## Citation + +```bibtex +@misc{hai2025holo15modelfamily, + title={Holo1.5 - Open Foundation Models for Computer Use Agents}, + author={H Company}, + year={2025}, + url={https://huggingface.co/collections/Hcompany/holo15-68c1a5736e8583a309d23d9b}, +} +``` \ No newline at end of file diff --git a/added_tokens.json b/added_tokens.json new file mode 100644 index 0000000..482ced4 --- /dev/null +++ b/added_tokens.json @@ -0,0 +1,24 @@ +{ + "": 151658, + "": 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 +} diff --git a/chat_template.json b/chat_template.json new file mode 100644 index 0000000..13303be --- /dev/null +++ b/chat_template.json @@ -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 %}" +} diff --git a/config.json b/config.json new file mode 100644 index 0000000..d4b3e9e --- /dev/null +++ b/config.json @@ -0,0 +1,135 @@ +{ + "architectures": [ + "Qwen2_5_VLForConditionalGeneration" + ], + "attention_dropout": 0.0, + "dtype": "bfloat16", + "eos_token_id": 151645, + "hidden_act": "silu", + "hidden_size": 3584, + "image_token_id": 151655, + "initializer_range": 0.02, + "intermediate_size": 18944, + "max_position_embeddings": 128000, + "max_window_layers": 28, + "model_type": "qwen2_5_vl", + "num_attention_heads": 28, + "num_hidden_layers": 28, + "num_key_value_heads": 4, + "pad_token_id": 151643, + "rms_norm_eps": 1e-06, + "rope_scaling": { + "mrope_section": [ + 16, + 24, + 24 + ], + "rope_type": "default", + "type": "default" + }, + "rope_theta": 1000000.0, + "sliding_window": 32768, + "text_config": { + "architectures": [ + "Qwen2_5_VLForConditionalGeneration" + ], + "attention_dropout": 0.0, + "bos_token_id": 151643, + "dtype": "bfloat16", + "eos_token_id": 151645, + "hidden_act": "silu", + "hidden_size": 3584, + "image_token_id": null, + "initializer_range": 0.02, + "intermediate_size": 18944, + "layer_types": [ + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention" + ], + "max_position_embeddings": 128000, + "max_window_layers": 28, + "model_type": "qwen2_5_vl_text", + "num_attention_heads": 28, + "num_hidden_layers": 28, + "num_key_value_heads": 4, + "rms_norm_eps": 1e-06, + "rope_scaling": { + "mrope_section": [ + 16, + 24, + 24 + ], + "rope_type": "default", + "type": "default" + }, + "rope_theta": 1000000.0, + "sliding_window": null, + "use_cache": true, + "use_sliding_window": false, + "video_token_id": null, + "vision_end_token_id": 151653, + "vision_start_token_id": 151652, + "vision_token_id": 151654, + "vocab_size": 152064 + }, + "tie_word_embeddings": false, + "transformers_version": "4.56.0", + "use_cache": false, + "use_sliding_window": false, + "video_token_id": 151656, + "vision_config": { + "depth": 32, + "dtype": "bfloat16", + "fullatt_block_indexes": [ + 7, + 15, + 23, + 31 + ], + "hidden_act": "silu", + "hidden_size": 1280, + "in_channels": 3, + "in_chans": 3, + "initializer_range": 0.02, + "intermediate_size": 3420, + "model_type": "qwen2_5_vl", + "num_heads": 16, + "out_hidden_size": 3584, + "patch_size": 14, + "spatial_merge_size": 2, + "spatial_patch_size": 14, + "temporal_patch_size": 2, + "tokens_per_second": 2, + "window_size": 112 + }, + "vision_end_token_id": 151653, + "vision_start_token_id": 151652, + "vision_token_id": 151654, + "vocab_size": 152064 +} diff --git a/configuration.json b/configuration.json new file mode 100644 index 0000000..4aef15d --- /dev/null +++ b/configuration.json @@ -0,0 +1 @@ +{"framework": "pytorch", "task": "image-text-to-text", "allow_remote": true} \ No newline at end of file diff --git a/generation_config.json b/generation_config.json new file mode 100644 index 0000000..5605c03 --- /dev/null +++ b/generation_config.json @@ -0,0 +1,12 @@ +{ + "attn_implementation": "flash_attention_2", + "do_sample": true, + "eos_token_id": [ + 151645, + 151643 + ], + "pad_token_id": 151643, + "repetition_penalty": 1.05, + "temperature": 1e-06, + "transformers_version": "4.56.0" +} diff --git a/merges.txt b/merges.txt new file mode 100644 index 0000000..80c1a19 --- /dev/null +++ b/merges.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8831e4f1a044471340f7c0a83d7bd71306a5b867e95fd870f74d0c5308a904d5 +size 1671853 diff --git a/model-00001-of-00004.safetensors b/model-00001-of-00004.safetensors new file mode 100644 index 0000000..362099e --- /dev/null +++ b/model-00001-of-00004.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dee583f1839e0c188526927731e980da63764b017c544884e95114c08c5002b1 +size 4968243304 diff --git a/model-00002-of-00004.safetensors b/model-00002-of-00004.safetensors new file mode 100644 index 0000000..36d3666 --- /dev/null +++ b/model-00002-of-00004.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a193464d15a3acbf076ffcb4e2eeda01000ecba7759658023f6d87953c497d4 +size 4991495816 diff --git a/model-00003-of-00004.safetensors b/model-00003-of-00004.safetensors new file mode 100644 index 0000000..b304337 --- /dev/null +++ b/model-00003-of-00004.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81dd67fc76f4d32e1104d44683fd58de9db3edfb61abb6f93a309f9dd3c7bdaf +size 4932751040 diff --git a/model-00004-of-00004.safetensors b/model-00004-of-00004.safetensors new file mode 100644 index 0000000..bd960a9 --- /dev/null +++ b/model-00004-of-00004.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d246d9a3197be3e2d537be97544b49f71ae14d7c994c3b2e24f05641cb7f32f6 +size 1691924384 diff --git a/model.safetensors.index.json b/model.safetensors.index.json new file mode 100644 index 0000000..92b4676 --- /dev/null +++ b/model.safetensors.index.json @@ -0,0 +1,737 @@ +{ + "metadata": { + "total_parameters": 8292166656, + "total_size": 16584333312 + }, + "weight_map": { + "lm_head.weight": "model-00004-of-00004.safetensors", + "model.embed_tokens.weight": "model-00001-of-00004.safetensors", + "model.layers.0.input_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.0.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.0.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.0.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.0.post_attention_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.0.self_attn.k_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.0.self_attn.k_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.0.self_attn.o_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.0.self_attn.q_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.0.self_attn.q_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.0.self_attn.v_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.0.self_attn.v_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.1.input_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.1.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.1.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.1.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.1.post_attention_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.1.self_attn.k_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.1.self_attn.k_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.1.self_attn.o_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.1.self_attn.q_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.1.self_attn.q_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.1.self_attn.v_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.1.self_attn.v_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.10.input_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.10.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.10.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.10.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.10.post_attention_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.10.self_attn.k_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.10.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.10.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.10.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.10.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.10.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.10.self_attn.v_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.11.input_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.11.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.11.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.11.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.11.post_attention_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.11.self_attn.k_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.11.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.11.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.11.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.11.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.11.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.11.self_attn.v_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.12.input_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.12.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.12.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.12.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.12.post_attention_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.12.self_attn.k_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.12.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.12.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.12.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.12.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.12.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.12.self_attn.v_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.13.input_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.13.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.13.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.13.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.13.post_attention_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.13.self_attn.k_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.13.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.13.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.13.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.13.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.13.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.13.self_attn.v_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.14.input_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.14.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.14.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.14.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.14.post_attention_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.14.self_attn.k_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.14.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.14.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.14.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.14.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.14.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.14.self_attn.v_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.15.input_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.15.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.15.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.15.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.15.post_attention_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.15.self_attn.k_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.15.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.15.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.15.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.15.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.15.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.15.self_attn.v_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.16.input_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.16.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.16.mlp.gate_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.16.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.16.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.16.self_attn.k_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.16.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.16.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.16.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.16.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.16.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.16.self_attn.v_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.17.input_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.17.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.17.mlp.gate_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.17.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.17.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.17.self_attn.k_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.17.self_attn.k_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.17.self_attn.o_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.17.self_attn.q_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.17.self_attn.q_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.17.self_attn.v_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.17.self_attn.v_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.18.input_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.18.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.18.mlp.gate_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.18.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.18.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.18.self_attn.k_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.18.self_attn.k_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.18.self_attn.o_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.18.self_attn.q_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.18.self_attn.q_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.18.self_attn.v_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.18.self_attn.v_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.19.input_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.19.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.19.mlp.gate_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.19.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.19.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.19.self_attn.k_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.19.self_attn.k_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.19.self_attn.o_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.19.self_attn.q_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.19.self_attn.q_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.19.self_attn.v_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.19.self_attn.v_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.2.input_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.2.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.2.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.2.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.2.post_attention_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.2.self_attn.k_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.2.self_attn.k_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.2.self_attn.o_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.2.self_attn.q_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.2.self_attn.q_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.2.self_attn.v_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.2.self_attn.v_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.20.input_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.20.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.20.mlp.gate_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.20.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.20.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.20.self_attn.k_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.20.self_attn.k_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.20.self_attn.o_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.20.self_attn.q_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.20.self_attn.q_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.20.self_attn.v_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.20.self_attn.v_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.21.input_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.21.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.21.mlp.gate_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.21.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.21.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.21.self_attn.k_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.21.self_attn.k_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.21.self_attn.o_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.21.self_attn.q_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.21.self_attn.q_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.21.self_attn.v_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.21.self_attn.v_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.22.input_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.22.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.22.mlp.gate_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.22.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.22.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.22.self_attn.k_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.22.self_attn.k_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.22.self_attn.o_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.22.self_attn.q_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.22.self_attn.q_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.22.self_attn.v_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.22.self_attn.v_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.23.input_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.23.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.23.mlp.gate_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.23.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.23.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.23.self_attn.k_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.23.self_attn.k_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.23.self_attn.o_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.23.self_attn.q_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.23.self_attn.q_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.23.self_attn.v_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.23.self_attn.v_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.24.input_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.24.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.24.mlp.gate_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.24.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.24.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.24.self_attn.k_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.24.self_attn.k_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.24.self_attn.o_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.24.self_attn.q_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.24.self_attn.q_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.24.self_attn.v_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.24.self_attn.v_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.25.input_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.25.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.25.mlp.gate_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.25.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.25.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.25.self_attn.k_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.25.self_attn.k_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.25.self_attn.o_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.25.self_attn.q_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.25.self_attn.q_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.25.self_attn.v_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.25.self_attn.v_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.26.input_layernorm.weight": "model-00004-of-00004.safetensors", + "model.layers.26.mlp.down_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.26.mlp.gate_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.26.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.26.post_attention_layernorm.weight": "model-00004-of-00004.safetensors", + "model.layers.26.self_attn.k_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.26.self_attn.k_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.26.self_attn.o_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.26.self_attn.q_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.26.self_attn.q_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.26.self_attn.v_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.26.self_attn.v_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.27.input_layernorm.weight": "model-00004-of-00004.safetensors", + "model.layers.27.mlp.down_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.27.mlp.gate_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.27.mlp.up_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.27.post_attention_layernorm.weight": "model-00004-of-00004.safetensors", + "model.layers.27.self_attn.k_proj.bias": "model-00004-of-00004.safetensors", + "model.layers.27.self_attn.k_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.27.self_attn.o_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.27.self_attn.q_proj.bias": "model-00004-of-00004.safetensors", + "model.layers.27.self_attn.q_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.27.self_attn.v_proj.bias": "model-00004-of-00004.safetensors", + "model.layers.27.self_attn.v_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.3.input_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.3.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.3.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.3.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.3.post_attention_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.3.self_attn.k_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.3.self_attn.k_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.3.self_attn.o_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.3.self_attn.q_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.3.self_attn.q_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.3.self_attn.v_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.3.self_attn.v_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.4.input_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.4.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.4.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.4.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.4.post_attention_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.4.self_attn.k_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.4.self_attn.k_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.4.self_attn.o_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.4.self_attn.q_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.4.self_attn.q_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.4.self_attn.v_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.4.self_attn.v_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.5.input_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.5.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.5.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.5.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.5.post_attention_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.5.self_attn.k_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.5.self_attn.k_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.5.self_attn.o_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.5.self_attn.q_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.5.self_attn.q_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.5.self_attn.v_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.5.self_attn.v_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.6.input_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.6.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.6.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.6.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.6.post_attention_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.6.self_attn.k_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.6.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.6.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.6.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.6.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.6.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.6.self_attn.v_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.7.input_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.7.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.7.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.7.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.7.post_attention_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.7.self_attn.k_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.7.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.7.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.7.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.7.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.7.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.7.self_attn.v_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.8.input_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.8.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.8.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.8.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.8.post_attention_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.8.self_attn.k_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.8.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.8.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.8.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.8.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.8.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.8.self_attn.v_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.9.input_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.9.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.9.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.9.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.9.post_attention_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.9.self_attn.k_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.9.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.9.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.9.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.9.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.9.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.9.self_attn.v_proj.weight": "model-00002-of-00004.safetensors", + "model.norm.weight": "model-00004-of-00004.safetensors", + "visual.blocks.0.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.0.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.0.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.0.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.0.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.0.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.0.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.0.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.0.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.0.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.0.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.0.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.1.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.1.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.1.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.1.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.1.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.1.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.1.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.1.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.1.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.1.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.1.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.1.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.10.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.10.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.10.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.10.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.10.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.10.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.10.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.10.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.10.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.10.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.10.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.10.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.11.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.11.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.11.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.11.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.11.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.11.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.11.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.11.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.11.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.11.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.11.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.11.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.12.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.12.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.12.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.12.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.12.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.12.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.12.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.12.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.12.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.12.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.12.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.12.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.13.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.13.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.13.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.13.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.13.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.13.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.13.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.13.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.13.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.13.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.13.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.13.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.14.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.14.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.14.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.14.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.14.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.14.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.14.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.14.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.14.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.14.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.14.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.14.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.15.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.15.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.15.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.15.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.15.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.15.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.15.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.15.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.15.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.15.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.15.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.15.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.16.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.16.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.16.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.16.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.16.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.16.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.16.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.16.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.16.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.16.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.16.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.16.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.17.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.17.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.17.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.17.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.17.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.17.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.17.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.17.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.17.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.17.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.17.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.17.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.18.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.18.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.18.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.18.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.18.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.18.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.18.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.18.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.18.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.18.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.18.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.18.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.19.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.19.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.19.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.19.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.19.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.19.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.19.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.19.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.19.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.19.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.19.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.19.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.2.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.2.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.2.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.2.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.2.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.2.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.2.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.2.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.2.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.2.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.2.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.2.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.20.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.20.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.20.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.20.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.20.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.20.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.20.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.20.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.20.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.20.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.20.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.20.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.21.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.21.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.21.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.21.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.21.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.21.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.21.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.21.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.21.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.21.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.21.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.21.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.22.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.22.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.22.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.22.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.22.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.22.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.22.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.22.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.22.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.22.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.22.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.22.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.23.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.23.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.23.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.23.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.23.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.23.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.23.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.23.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.23.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.23.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.23.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.23.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.24.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.24.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.24.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.24.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.24.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.24.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.24.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.24.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.24.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.24.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.24.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.24.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.25.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.25.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.25.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.25.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.25.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.25.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.25.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.25.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.25.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.25.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.25.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.25.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.26.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.26.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.26.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.26.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.26.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.26.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.26.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.26.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.26.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.26.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.26.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.26.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.27.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.27.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.27.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.27.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.27.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.27.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.27.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.27.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.27.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.27.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.27.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.27.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.28.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.28.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.28.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.28.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.28.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.28.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.28.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.28.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.28.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.28.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.28.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.28.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.29.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.29.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.29.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.29.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.29.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.29.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.29.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.29.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.29.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.29.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.29.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.29.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.3.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.3.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.3.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.3.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.3.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.3.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.3.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.3.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.3.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.3.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.3.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.3.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.30.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.30.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.30.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.30.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.30.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.30.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.30.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.30.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.30.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.30.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.30.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.30.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.31.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.31.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.31.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.31.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.31.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.31.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.31.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.31.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.31.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.31.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.31.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.31.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.4.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.4.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.4.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.4.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.4.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.4.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.4.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.4.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.4.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.4.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.4.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.4.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.5.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.5.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.5.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.5.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.5.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.5.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.5.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.5.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.5.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.5.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.5.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.5.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.6.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.6.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.6.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.6.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.6.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.6.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.6.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.6.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.6.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.6.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.6.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.6.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.7.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.7.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.7.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.7.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.7.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.7.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.7.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.7.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.7.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.7.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.7.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.7.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.8.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.8.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.8.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.8.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.8.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.8.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.8.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.8.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.8.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.8.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.8.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.8.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.9.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.9.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.9.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.9.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.9.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.9.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.9.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.9.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.9.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.9.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.9.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.9.norm2.weight": "model-00001-of-00004.safetensors", + "visual.merger.ln_q.weight": "model-00001-of-00004.safetensors", + "visual.merger.mlp.0.bias": "model-00001-of-00004.safetensors", + "visual.merger.mlp.0.weight": "model-00001-of-00004.safetensors", + "visual.merger.mlp.2.bias": "model-00001-of-00004.safetensors", + "visual.merger.mlp.2.weight": "model-00001-of-00004.safetensors", + "visual.patch_embed.proj.weight": "model-00001-of-00004.safetensors" + } +} diff --git a/preprocessor_config.json b/preprocessor_config.json new file mode 100644 index 0000000..4ba2896 --- /dev/null +++ b/preprocessor_config.json @@ -0,0 +1,37 @@ +{ + "crop_size": null, + "data_format": "channels_first", + "default_to_square": true, + "device": null, + "disable_grouping": null, + "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 + ], + "input_data_format": null, + "max_pixels": 3686400, + "merge_size": 2, + "min_pixels": 3136, + "patch_size": 14, + "processor_class": "Qwen2_5_VLProcessor", + "resample": 3, + "rescale_factor": 0.00392156862745098, + "return_tensors": null, + "size": { + "longest_edge": 3686400, + "shortest_edge": 3136 + }, + "temporal_patch_size": 2 +} diff --git a/rc1_loc_charts_white.png b/rc1_loc_charts_white.png new file mode 100644 index 0000000000000000000000000000000000000000..bfd0d34cc00c527384d40060f2e0aacfce6dbf72 GIT binary patch literal 99809 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

&R|VSe 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 literal 0 HcmV?d00001 diff --git a/rc1_loc_pareto_white.png b/rc1_loc_pareto_white.png new file mode 100644 index 0000000000000000000000000000000000000000..4eee8b903b9f4fb2eb9baa01bca95918aafea409 GIT binary patch literal 170783 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", + "<|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 + } +} diff --git a/tokenizer.json b/tokenizer.json new file mode 100644 index 0000000..6c06829 --- /dev/null +++ b/tokenizer.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5eee858c5123a4279c3e1f7b81247343f356ac767940b2692a928ad929543214 +size 11422063 diff --git a/tokenizer_config.json b/tokenizer_config.json new file mode 100644 index 0000000..c31b17b --- /dev/null +++ b/tokenizer_config.json @@ -0,0 +1,215 @@ +{ + "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": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151658": { + "content": "", + "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, + "clean_up_tokenization_spaces": false, + "do_convert_rgb": true, + "do_normalize": true, + "do_rescale": true, + "do_resize": true, + "eos_token": "<|im_end|>", + "errors": "replace", + "extra_special_tokens": {}, + "max_pixels": 3686400, + "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 +} diff --git a/video_preprocessor_config.json b/video_preprocessor_config.json new file mode 100644 index 0000000..bda7826 --- /dev/null +++ b/video_preprocessor_config.json @@ -0,0 +1,44 @@ +{ + "crop_size": null, + "data_format": "channels_first", + "default_to_square": true, + "device": null, + "do_center_crop": null, + "do_convert_rgb": true, + "do_normalize": true, + "do_pad": null, + "do_rescale": true, + "do_resize": true, + "do_sample_frames": false, + "fps": null, + "image_mean": [ + 0.48145466, + 0.4578275, + 0.40821073 + ], + "image_std": [ + 0.26862954, + 0.26130258, + 0.27577711 + ], + "input_data_format": null, + "max_frames": 768, + "max_pixels": 3686400, + "merge_size": 2, + "min_frames": 4, + "min_pixels": 3136, + "num_frames": null, + "patch_size": 14, + "processor_class": "Qwen2_5_VLProcessor", + "resample": 3, + "rescale_factor": 0.00392156862745098, + "return_metadata": false, + "size": { + "longest_edge": 3686400, + "shortest_edge": 3136 + }, + "size_divisor": null, + "temporal_patch_size": 2, + "video_metadata": null, + "video_processor_type": "Qwen2VLVideoProcessor" +} diff --git a/vocab.json b/vocab.json new file mode 100644 index 0000000..6c49fc6 --- /dev/null +++ b/vocab.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910 +size 2776833 diff --git a/zero_to_fp32.py b/zero_to_fp32.py new file mode 100644 index 0000000..5995d6e --- /dev/null +++ b/zero_to_fp32.py @@ -0,0 +1,760 @@ +#!/usr/bin/env python + +# Copyright (c) Microsoft Corporation. +# SPDX-License-Identifier: Apache-2.0 + +# DeepSpeed Team + +# This script extracts fp32 consolidated weights from a zero 1, 2 and 3 DeepSpeed checkpoints. It gets +# copied into the top level checkpoint dir, so the user can easily do the conversion at any point in +# the future. Once extracted, the weights don't require DeepSpeed and can be used in any +# application. +# +# example: +# python zero_to_fp32.py . output_dir/ +# or +# python zero_to_fp32.py . output_dir/ --safe_serialization + +import argparse +import torch +import glob +import math +import os +import re +import gc +import json +import numpy as np +from tqdm import tqdm +from collections import OrderedDict +from dataclasses import dataclass + +# while this script doesn't use deepspeed to recover data, since the checkpoints are pickled with +# DeepSpeed data structures it has to be available in the current python environment. +from deepspeed.utils import logger +from deepspeed.checkpoint.constants import (DS_VERSION, OPTIMIZER_STATE_DICT, SINGLE_PARTITION_OF_FP32_GROUPS, + FP32_FLAT_GROUPS, ZERO_STAGE, PARTITION_COUNT, PARAM_SHAPES, BUFFER_NAMES, + FROZEN_PARAM_SHAPES, FROZEN_PARAM_FRAGMENTS) + + +@dataclass +class zero_model_state: + buffers: dict() + param_shapes: dict() + shared_params: list + ds_version: int + frozen_param_shapes: dict() + frozen_param_fragments: dict() + + +debug = 0 + +# load to cpu +device = torch.device('cpu') + + +def atoi(text): + return int(text) if text.isdigit() else text + + +def natural_keys(text): + ''' + alist.sort(key=natural_keys) sorts in human order + http://nedbatchelder.com/blog/200712/human_sorting.html + (See Toothy's implementation in the comments) + ''' + return [atoi(c) for c in re.split(r'(\d+)', text)] + + +def get_model_state_file(checkpoint_dir, zero_stage): + if not os.path.isdir(checkpoint_dir): + raise FileNotFoundError(f"Directory '{checkpoint_dir}' doesn't exist") + + # there should be only one file + if zero_stage <= 2: + file = os.path.join(checkpoint_dir, "mp_rank_00_model_states.pt") + elif zero_stage == 3: + file = os.path.join(checkpoint_dir, "zero_pp_rank_0_mp_rank_00_model_states.pt") + + if not os.path.exists(file): + raise FileNotFoundError(f"can't find model states file at '{file}'") + + return file + + +def get_checkpoint_files(checkpoint_dir, glob_pattern): + # XXX: need to test that this simple glob rule works for multi-node setup too + ckpt_files = sorted(glob.glob(os.path.join(checkpoint_dir, glob_pattern)), key=natural_keys) + + if len(ckpt_files) == 0: + raise FileNotFoundError(f"can't find {glob_pattern} files in directory '{checkpoint_dir}'") + + return ckpt_files + + +def get_optim_files(checkpoint_dir): + return get_checkpoint_files(checkpoint_dir, "*_optim_states.pt") + + +def get_model_state_files(checkpoint_dir): + return get_checkpoint_files(checkpoint_dir, "*_model_states.pt") + + +def parse_model_states(files): + zero_model_states = [] + for file in files: + state_dict = torch.load(file, map_location=device, weights_only=False) + + if BUFFER_NAMES not in state_dict: + raise ValueError(f"{file} is not a model state checkpoint") + buffer_names = state_dict[BUFFER_NAMES] + if debug: + print("Found buffers:", buffer_names) + + # recover just the buffers while restoring them to fp32 if they were saved in fp16 + buffers = {k: v.float() for k, v in state_dict["module"].items() if k in buffer_names} + param_shapes = state_dict[PARAM_SHAPES] + + # collect parameters that are included in param_shapes + param_names = [] + for s in param_shapes: + for name in s.keys(): + param_names.append(name) + + # update with frozen parameters + frozen_param_shapes = state_dict.get(FROZEN_PARAM_SHAPES, None) + if frozen_param_shapes is not None: + if debug: + print(f"Found frozen_param_shapes: {frozen_param_shapes}") + param_names += list(frozen_param_shapes.keys()) + + # handle shared params + shared_params = [[k, v] for k, v in state_dict["shared_params"].items()] + + ds_version = state_dict.get(DS_VERSION, None) + + frozen_param_fragments = state_dict.get(FROZEN_PARAM_FRAGMENTS, None) + + z_model_state = zero_model_state(buffers=buffers, + param_shapes=param_shapes, + shared_params=shared_params, + ds_version=ds_version, + frozen_param_shapes=frozen_param_shapes, + frozen_param_fragments=frozen_param_fragments) + zero_model_states.append(z_model_state) + + return zero_model_states + + +def parse_optim_states(files, ds_checkpoint_dir): + total_files = len(files) + state_dicts = [] + for f in tqdm(files, desc='Loading checkpoint shards'): + state_dict = torch.load(f, map_location=device, mmap=True, weights_only=False) + # immediately discard the potentially huge 2 optimizer states as we only care for fp32 master weights + # and also handle the case where it was already removed by another helper script + state_dict["optimizer_state_dict"].pop("optimizer_state_dict", None) + state_dicts.append(state_dict) + + if ZERO_STAGE not in state_dicts[0][OPTIMIZER_STATE_DICT]: + raise ValueError(f"{files[0]} is not a zero checkpoint") + zero_stage = state_dicts[0][OPTIMIZER_STATE_DICT][ZERO_STAGE] + world_size = state_dicts[0][OPTIMIZER_STATE_DICT][PARTITION_COUNT] + + # For ZeRO-2 each param group can have different partition_count as data parallelism for expert + # parameters can be different from data parallelism for non-expert parameters. So we can just + # use the max of the partition_count to get the dp world_size. + + if type(world_size) is list: + world_size = max(world_size) + + if world_size != total_files: + raise ValueError( + f"Expected {world_size} of '*_optim_states.pt' under '{ds_checkpoint_dir}' but found {total_files} files. " + "Possibly due to an overwrite of an old checkpoint, or a checkpoint didn't get saved by one or more processes." + ) + + # the groups are named differently in each stage + if zero_stage <= 2: + fp32_groups_key = SINGLE_PARTITION_OF_FP32_GROUPS + elif zero_stage == 3: + fp32_groups_key = FP32_FLAT_GROUPS + else: + raise ValueError(f"unknown zero stage {zero_stage}") + + fp32_flat_groups = [state_dicts[i][OPTIMIZER_STATE_DICT][fp32_groups_key] for i in range(len(state_dicts))] + return zero_stage, world_size, fp32_flat_groups + + +def _get_fp32_state_dict_from_zero_checkpoint(ds_checkpoint_dir, exclude_frozen_parameters): + """ + Returns fp32 state_dict reconstructed from ds checkpoint + + Args: + - ``ds_checkpoint_dir``: path to the deepspeed checkpoint folder (where the optimizer files are) + + """ + print(f"Processing zero checkpoint '{ds_checkpoint_dir}'") + + optim_files = get_optim_files(ds_checkpoint_dir) + zero_stage, world_size, fp32_flat_groups = parse_optim_states(optim_files, ds_checkpoint_dir) + print(f"Detected checkpoint of type zero stage {zero_stage}, world_size: {world_size}") + + model_files = get_model_state_files(ds_checkpoint_dir) + + zero_model_states = parse_model_states(model_files) + print(f'Parsing checkpoint created by deepspeed=={zero_model_states[0].ds_version}') + + if zero_stage <= 2: + return _get_fp32_state_dict_from_zero2_checkpoint(world_size, fp32_flat_groups, zero_model_states, + exclude_frozen_parameters) + elif zero_stage == 3: + return _get_fp32_state_dict_from_zero3_checkpoint(world_size, fp32_flat_groups, zero_model_states, + exclude_frozen_parameters) + + +def _zero2_merge_frozen_params(state_dict, zero_model_states): + if zero_model_states[0].frozen_param_shapes is None or len(zero_model_states[0].frozen_param_shapes) == 0: + return + + frozen_param_shapes = zero_model_states[0].frozen_param_shapes + frozen_param_fragments = zero_model_states[0].frozen_param_fragments + + if debug: + num_elem = sum(s.numel() for s in frozen_param_shapes.values()) + print(f'rank 0: {FROZEN_PARAM_SHAPES}.numel = {num_elem}') + + wanted_params = len(frozen_param_shapes) + wanted_numel = sum(s.numel() for s in frozen_param_shapes.values()) + avail_numel = sum([p.numel() for p in frozen_param_fragments.values()]) + print(f'Frozen params: Have {avail_numel} numels to process.') + print(f'Frozen params: Need {wanted_numel} numels in {wanted_params} params') + + total_params = 0 + total_numel = 0 + for name, shape in frozen_param_shapes.items(): + total_params += 1 + unpartitioned_numel = shape.numel() + total_numel += unpartitioned_numel + + state_dict[name] = frozen_param_fragments[name] + + if debug: + print(f"{name} full shape: {shape} unpartitioned numel {unpartitioned_numel} ") + + print(f"Reconstructed Frozen fp32 state dict with {total_params} params {total_numel} elements") + + +def _has_callable(obj, fn): + attr = getattr(obj, fn, None) + return callable(attr) + + +def _zero2_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states): + param_shapes = zero_model_states[0].param_shapes + + # Reconstruction protocol: + # + # XXX: document this + + if debug: + for i in range(world_size): + for j in range(len(fp32_flat_groups[0])): + print(f"{FP32_FLAT_GROUPS}[{i}][{j}].shape={fp32_flat_groups[i][j].shape}") + + # XXX: memory usage doubles here (zero2) + num_param_groups = len(fp32_flat_groups[0]) + merged_single_partition_of_fp32_groups = [] + for i in range(num_param_groups): + merged_partitions = [sd[i] for sd in fp32_flat_groups] + full_single_fp32_vector = torch.cat(merged_partitions, 0) + merged_single_partition_of_fp32_groups.append(full_single_fp32_vector) + avail_numel = sum( + [full_single_fp32_vector.numel() for full_single_fp32_vector in merged_single_partition_of_fp32_groups]) + + if debug: + wanted_params = sum([len(shapes) for shapes in param_shapes]) + wanted_numel = sum([sum(shape.numel() for shape in shapes.values()) for shapes in param_shapes]) + # not asserting if there is a mismatch due to possible padding + print(f"Have {avail_numel} numels to process.") + print(f"Need {wanted_numel} numels in {wanted_params} params.") + + # params + # XXX: for huge models that can't fit into the host's RAM we will have to recode this to support + # out-of-core computing solution + total_numel = 0 + total_params = 0 + for shapes, full_single_fp32_vector in zip(param_shapes, merged_single_partition_of_fp32_groups): + offset = 0 + avail_numel = full_single_fp32_vector.numel() + for name, shape in shapes.items(): + + unpartitioned_numel = shape.numel() if _has_callable(shape, 'numel') else math.prod(shape) + total_numel += unpartitioned_numel + total_params += 1 + + if debug: + print(f"{name} full shape: {shape} unpartitioned numel {unpartitioned_numel} ") + state_dict[name] = full_single_fp32_vector.narrow(0, offset, unpartitioned_numel).view(shape) + offset += unpartitioned_numel + + # Z2 started to align to 2*world_size to improve nccl performance. Therefore both offset and + # avail_numel can differ by anywhere between 0..2*world_size. Due to two unrelated complex + # paddings performed in the code it's almost impossible to predict the exact numbers w/o the + # live optimizer object, so we are checking that the numbers are within the right range + align_to = 2 * world_size + + def zero2_align(x): + return align_to * math.ceil(x / align_to) + + if debug: + print(f"original offset={offset}, avail_numel={avail_numel}") + + offset = zero2_align(offset) + avail_numel = zero2_align(avail_numel) + + if debug: + print(f"aligned offset={offset}, avail_numel={avail_numel}") + + # Sanity check + if offset != avail_numel: + raise ValueError(f"consumed {offset} numels out of {avail_numel} - something is wrong") + + print(f"Reconstructed fp32 state dict with {total_params} params {total_numel} elements") + + +def _get_fp32_state_dict_from_zero2_checkpoint(world_size, fp32_flat_groups, zero_model_states, + exclude_frozen_parameters): + state_dict = OrderedDict() + + # buffers + buffers = zero_model_states[0].buffers + state_dict.update(buffers) + if debug: + print(f"added {len(buffers)} buffers") + + if not exclude_frozen_parameters: + _zero2_merge_frozen_params(state_dict, zero_model_states) + + _zero2_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states) + + # recover shared parameters + for pair in zero_model_states[0].shared_params: + if pair[1] in state_dict: + state_dict[pair[0]] = state_dict[pair[1]] + + return state_dict + + +def zero3_partitioned_param_info(unpartitioned_numel, world_size): + remainder = unpartitioned_numel % world_size + padding_numel = (world_size - remainder) if remainder else 0 + partitioned_numel = math.ceil(unpartitioned_numel / world_size) + return partitioned_numel, padding_numel + + +def _zero3_merge_frozen_params(state_dict, world_size, zero_model_states): + if zero_model_states[0].frozen_param_shapes is None or len(zero_model_states[0].frozen_param_shapes) == 0: + return + + if debug: + for i in range(world_size): + num_elem = sum(s.numel() for s in zero_model_states[i].frozen_param_fragments.values()) + print(f'rank {i}: {FROZEN_PARAM_SHAPES}.numel = {num_elem}') + + frozen_param_shapes = zero_model_states[0].frozen_param_shapes + wanted_params = len(frozen_param_shapes) + wanted_numel = sum(s.numel() for s in frozen_param_shapes.values()) + avail_numel = sum([p.numel() for p in zero_model_states[0].frozen_param_fragments.values()]) * world_size + print(f'Frozen params: Have {avail_numel} numels to process.') + print(f'Frozen params: Need {wanted_numel} numels in {wanted_params} params') + + total_params = 0 + total_numel = 0 + for name, shape in zero_model_states[0].frozen_param_shapes.items(): + total_params += 1 + unpartitioned_numel = shape.numel() + total_numel += unpartitioned_numel + + param_frags = tuple(model_state.frozen_param_fragments[name] for model_state in zero_model_states) + state_dict[name] = torch.cat(param_frags, 0).narrow(0, 0, unpartitioned_numel).view(shape) + + partitioned_numel, partitioned_padding_numel = zero3_partitioned_param_info(unpartitioned_numel, world_size) + + if debug: + print( + f"Frozen params: {total_params} {name} full shape: {shape} partition0 numel={partitioned_numel} partitioned_padding_numel={partitioned_padding_numel}" + ) + + print(f"Reconstructed Frozen fp32 state dict with {total_params} params {total_numel} elements") + + +class GatheredTensor: + """ + A pseudo tensor that collects partitioned weights. + It is more memory efficient when there are multiple groups. + """ + + def __init__(self, flat_groups, flat_groups_offset, offset, partitioned_numel, shape): + self.flat_groups = flat_groups + self.flat_groups_offset = flat_groups_offset + self.offset = offset + self.partitioned_numel = partitioned_numel + self.shape = shape + self.dtype = self.flat_groups[0][0].dtype + + def contiguous(self): + """ + Merge partitioned weights from flat_groups into a single tensor. + """ + end_idx = self.offset + self.partitioned_numel + world_size = len(self.flat_groups) + pad_flat_param_chunks = [] + + for rank_i in range(world_size): + # for each rank, we need to collect weights from related group/groups + flat_groups_at_rank_i = self.flat_groups[rank_i] + start_group_id = None + end_group_id = None + for group_id in range(len(self.flat_groups_offset)): + if self.flat_groups_offset[group_id] <= self.offset < self.flat_groups_offset[group_id + 1]: + start_group_id = group_id + if self.flat_groups_offset[group_id] < end_idx <= self.flat_groups_offset[group_id + 1]: + end_group_id = group_id + break + # collect weights from related group/groups + for group_id in range(start_group_id, end_group_id + 1): + flat_tensor = flat_groups_at_rank_i[group_id] + start_offset = self.offset - self.flat_groups_offset[group_id] + end_offset = min(end_idx, self.flat_groups_offset[group_id + 1]) - self.flat_groups_offset[group_id] + pad_flat_param_chunks.append(flat_tensor[start_offset:end_offset]) + + # collect weights from all ranks + pad_flat_param = torch.cat(pad_flat_param_chunks, dim=0) + param = pad_flat_param[:self.shape.numel()].view(self.shape).contiguous() + return param + + +def _zero3_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states): + param_shapes = zero_model_states[0].param_shapes + avail_numel = sum([flat_group.numel() for flat_group in fp32_flat_groups[0]]) * world_size + + # Reconstruction protocol: For zero3 we need to zip the partitions together at boundary of each + # param, re-consolidating each param, while dealing with padding if any + + # merge list of dicts, preserving order + param_shapes = {k: v for d in param_shapes for k, v in d.items()} + + if debug: + for i in range(world_size): + print(f"{FP32_FLAT_GROUPS}[{i}].shape={fp32_flat_groups[i].shape}") + + wanted_params = len(param_shapes) + wanted_numel = sum(shape.numel() for shape in param_shapes.values()) + # not asserting if there is a mismatch due to possible padding + avail_numel = fp32_flat_groups[0].numel() * world_size + print(f"Trainable params: Have {avail_numel} numels to process.") + print(f"Trainable params: Need {wanted_numel} numels in {wanted_params} params.") + + # params + # XXX: for huge models that can't fit into the host's RAM we will have to recode this to support + # out-of-core computing solution + offset = 0 + total_numel = 0 + total_params = 0 + flat_groups_offset = [0] + list(np.cumsum([flat_tensor.numel() for flat_tensor in fp32_flat_groups[0]])) + for name, shape in tqdm(param_shapes.items(), desc='Gathering sharded weights'): + unpartitioned_numel = shape.numel() + total_numel += unpartitioned_numel + total_params += 1 + partitioned_numel, partitioned_padding_numel = zero3_partitioned_param_info(unpartitioned_numel, world_size) + + if debug: + print( + f"Trainable params: {total_params} {name} full shape: {shape} partition0 numel={partitioned_numel} partitioned_padding_numel={partitioned_padding_numel}" + ) + + # memory efficient tensor + tensor = GatheredTensor(fp32_flat_groups, flat_groups_offset, offset, partitioned_numel, shape) + state_dict[name] = tensor + offset += partitioned_numel + + offset *= world_size + + # Sanity check + if offset != avail_numel: + raise ValueError(f"consumed {offset} numels out of {avail_numel} - something is wrong") + + print(f"Reconstructed Trainable fp32 state dict with {total_params} params {total_numel} elements") + + +def _get_fp32_state_dict_from_zero3_checkpoint(world_size, fp32_flat_groups, zero_model_states, + exclude_frozen_parameters): + state_dict = OrderedDict() + + # buffers + buffers = zero_model_states[0].buffers + state_dict.update(buffers) + if debug: + print(f"added {len(buffers)} buffers") + + if not exclude_frozen_parameters: + _zero3_merge_frozen_params(state_dict, world_size, zero_model_states) + + _zero3_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states) + + # recover shared parameters + for pair in zero_model_states[0].shared_params: + if pair[1] in state_dict: + state_dict[pair[0]] = state_dict[pair[1]] + + return state_dict + + +def to_torch_tensor(state_dict, return_empty_tensor=False): + """ + Convert state_dict of GatheredTensor to torch tensor + """ + torch_state_dict = {} + converted_tensors = {} + for name, tensor in state_dict.items(): + tensor_id = id(tensor) + if tensor_id in converted_tensors: # shared tensors + shared_tensor = torch_state_dict[converted_tensors[tensor_id]] + torch_state_dict[name] = shared_tensor + else: + converted_tensors[tensor_id] = name + if return_empty_tensor: + torch_state_dict[name] = torch.empty(tensor.shape, dtype=tensor.dtype) + else: + torch_state_dict[name] = tensor.contiguous() + return torch_state_dict + + +def get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, + tag=None, + exclude_frozen_parameters=False, + lazy_mode=False): + """ + Convert ZeRO 2 or 3 checkpoint into a single fp32 consolidated state_dict that can be loaded with + ``load_state_dict()`` and used for training without DeepSpeed or shared with others, for example + via a model hub. + + Args: + - ``checkpoint_dir``: path to the desired checkpoint folder + - ``tag``: checkpoint tag used as a unique identifier for checkpoint. If not provided will attempt to load tag in 'latest' file. e.g., ``global_step14`` + - ``exclude_frozen_parameters``: exclude frozen parameters + - ``lazy_mode``: get state_dict in lazy mode. It returns a dict of pesduo tensor instead of torch tensor, which is more memory efficient. + Convert the pesduo tensor to torch tensor by ``.contiguous()`` + + Returns: + - pytorch ``state_dict`` + + A typical usage might be :: + + from deepspeed.utils.zero_to_fp32 import get_fp32_state_dict_from_zero_checkpoint + # do the training and checkpoint saving + state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir) # already on cpu + model = model.cpu() # move to cpu + model.load_state_dict(state_dict) + # submit to model hub or save the model to share with others + + In this example the ``model`` will no longer be usable in the deepspeed context of the same + application. i.e. you will need to re-initialize the deepspeed engine, since + ``model.load_state_dict(state_dict)`` will remove all the deepspeed magic from it. + + If you want it all done for you, use ``load_state_dict_from_zero_checkpoint`` instead. + + Note: the above usage may not work if your application doesn't have sufficient free CPU memory. + You may need to use the offline approach using the ``zero_to_fp32.py`` script that is saved with + the checkpoint. Or you can load state_dict in lazy mode :: + + from deepspeed.utils.zero_to_fp32 import get_fp32_state_dict_from_zero_checkpoint + state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, lazy_mode=True) # not on cpu + for name, lazy_tensor in state_dict.item(): + tensor = lazy_tensor.contiguous() # to cpu + print(name, tensor) + # del tensor to release memory if it no longer in use + """ + if tag is None: + latest_path = os.path.join(checkpoint_dir, 'latest') + if os.path.isfile(latest_path): + with open(latest_path, 'r') as fd: + tag = fd.read().strip() + else: + raise ValueError(f"Unable to find 'latest' file at {latest_path}") + + ds_checkpoint_dir = os.path.join(checkpoint_dir, tag) + + if not os.path.isdir(ds_checkpoint_dir): + raise FileNotFoundError(f"Directory '{ds_checkpoint_dir}' doesn't exist") + + state_dict = _get_fp32_state_dict_from_zero_checkpoint(ds_checkpoint_dir, exclude_frozen_parameters) + if lazy_mode: + return state_dict + else: + return to_torch_tensor(state_dict) + + +def convert_zero_checkpoint_to_fp32_state_dict(checkpoint_dir, + output_dir, + max_shard_size="5GB", + safe_serialization=False, + tag=None, + exclude_frozen_parameters=False): + """ + Convert ZeRO 2 or 3 checkpoint into a single fp32 consolidated ``state_dict`` file that can be + loaded with ``torch.load(file)`` + ``load_state_dict()`` and used for training without DeepSpeed. + + Args: + - ``checkpoint_dir``: path to the desired checkpoint folder. (one that contains the tag-folder, like ``global_step14``) + - ``output_dir``: directory to the pytorch fp32 state_dict output files + - ``max_shard_size``: the maximum size for a checkpoint before being sharded, default value is 5GB + - ``safe_serialization``: whether to save the model using `safetensors` or the traditional PyTorch way (that uses `pickle`). + - ``tag``: checkpoint tag used as a unique identifier for checkpoint. If not provided will attempt to load tag in the file named ``latest`` in the checkpoint folder, e.g., ``global_step14`` + - ``exclude_frozen_parameters``: exclude frozen parameters + """ + + # Dependency pre-check + if safe_serialization: + try: + from safetensors.torch import save_file + except ImportError: + print('If you want to use `safe_serialization`, please `pip install safetensors`') + raise + if max_shard_size is not None: + try: + from huggingface_hub import split_torch_state_dict_into_shards + except ImportError: + print('If you want to use `max_shard_size`, please `pip install huggingface_hub`') + raise + + # Convert zero checkpoint to state_dict + state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, + tag, + exclude_frozen_parameters, + lazy_mode=True) + + # Shard the model if it is too big. + weights_name = "model.safetensors" if safe_serialization else "pytorch_model.bin" + if max_shard_size is not None: + filename_pattern = weights_name.replace(".bin", "{suffix}.bin").replace(".safetensors", "{suffix}.safetensors") + # an memory-efficient approach for sharding + empty_state_dict = to_torch_tensor(state_dict, return_empty_tensor=True) + state_dict_split = split_torch_state_dict_into_shards(empty_state_dict, + filename_pattern=filename_pattern, + max_shard_size=max_shard_size) + else: + from collections import namedtuple + StateDictSplit = namedtuple("StateDictSplit", ["is_sharded", "filename_to_tensors"]) + state_dict_split = StateDictSplit(is_sharded=False, + filename_to_tensors={weights_name: list(state_dict.keys())}) + + # Save the model by shard + os.makedirs(output_dir, exist_ok=True) + filename_to_tensors = state_dict_split.filename_to_tensors.items() + for shard_file, tensors in tqdm(filename_to_tensors, desc="Saving checkpoint shards"): + shard_state_dict = {tensor_name: state_dict[tensor_name] for tensor_name in tensors} + shard_state_dict = to_torch_tensor(shard_state_dict) + output_path = os.path.join(output_dir, shard_file) + if safe_serialization: + save_file(shard_state_dict, output_path, metadata={"format": "pt"}) + else: + torch.save(shard_state_dict, output_path) + # release the memory of current shard + for tensor_name in list(shard_state_dict.keys()): + del state_dict[tensor_name] + del shard_state_dict[tensor_name] + del shard_state_dict + gc.collect() + + # Save index if sharded + if state_dict_split.is_sharded: + index = { + "metadata": state_dict_split.metadata, + "weight_map": state_dict_split.tensor_to_filename, + } + save_index_file = "model.safetensors.index.json" if safe_serialization else "pytorch_model.bin.index.json" + save_index_file = os.path.join(output_dir, save_index_file) + with open(save_index_file, "w", encoding="utf-8") as f: + content = json.dumps(index, indent=2, sort_keys=True) + "\n" + f.write(content) + + +def load_state_dict_from_zero_checkpoint(model, checkpoint_dir, tag=None): + """ + 1. Put the provided model to cpu + 2. Convert ZeRO 2 or 3 checkpoint into a single fp32 consolidated ``state_dict`` + 3. Load it into the provided model + + Args: + - ``model``: the model object to update + - ``checkpoint_dir``: path to the desired checkpoint folder. (one that contains the tag-folder, like ``global_step14``) + - ``tag``: checkpoint tag used as a unique identifier for checkpoint. If not provided will attempt to load tag in the file named ``latest`` in the checkpoint folder, e.g., ``global_step14`` + + Returns: + - ``model`: modified model + + Make sure you have plenty of CPU memory available before you call this function. If you don't + have enough use the ``zero_to_fp32.py`` utility to do the conversion. You will find it + conveniently placed for you in the checkpoint folder. + + A typical usage might be :: + + from deepspeed.utils.zero_to_fp32 import load_state_dict_from_zero_checkpoint + model = load_state_dict_from_zero_checkpoint(trainer.model, checkpoint_dir) + # submit to model hub or save the model to share with others + + Note, that once this was run, the ``model`` will no longer be usable in the deepspeed context + of the same application. i.e. you will need to re-initialize the deepspeed engine, since + ``model.load_state_dict(state_dict)`` will remove all the deepspeed magic from it. + + """ + logger.info("Extracting fp32 weights") + state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, tag) + + logger.info("Overwriting model with fp32 weights") + model = model.cpu() + model.load_state_dict(state_dict, strict=False) + + return model + + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.add_argument("checkpoint_dir", + type=str, + help="path to the desired checkpoint folder, e.g., path/checkpoint-12") + parser.add_argument("output_dir", + type=str, + help="directory to the pytorch fp32 state_dict output files" + "(e.g. path/checkpoint-12-output/)") + parser.add_argument( + "--max_shard_size", + type=str, + default="5GB", + help="The maximum size for a checkpoint before being sharded. Checkpoints shard will then be each of size" + "lower than this size. If expressed as a string, needs to be digits followed by a unit (like `5MB`" + "We default it to 5GB in order for models to be able to run easily on free-tier google colab instances" + "without CPU OOM issues.") + parser.add_argument( + "--safe_serialization", + default=False, + action='store_true', + help="Whether to save the model using `safetensors` or the traditional PyTorch way (that uses `pickle`).") + parser.add_argument("-t", + "--tag", + type=str, + default=None, + help="checkpoint tag used as a unique identifier for checkpoint. e.g., global_step1") + parser.add_argument("--exclude_frozen_parameters", action='store_true', help="exclude frozen parameters") + parser.add_argument("-d", "--debug", action='store_true', help="enable debug") + args = parser.parse_args() + + debug = args.debug + + convert_zero_checkpoint_to_fp32_state_dict(args.checkpoint_dir, + args.output_dir, + max_shard_size=args.max_shard_size, + safe_serialization=args.safe_serialization, + tag=args.tag, + exclude_frozen_parameters=args.exclude_frozen_parameters)