From e41c819c179c46e838f2a14a733573245099b0cf Mon Sep 17 00:00:00 2001 From: Cherrytest Date: Sat, 21 Jun 2025 18:08:30 +0000 Subject: [PATCH] Upload folder using ModelScope SDK --- .ipynb_checkpoints/README-checkpoint.md | 165 + README.md | 253 +- chat_template.jinja | 31 + config.json | 75 + configuration.json | 1 + configuration_kimi_vl.py | 284 ++ figures/arch.png | Bin 0 -> 641358 bytes figures/demo1.png | Bin 0 -> 223025 bytes figures/demo2.png | Bin 0 -> 264009 bytes figures/logo.png | Bin 0 -> 1687 bytes figures/screenshot.png | Bin 0 -> 826981 bytes figures/thinking_perf.png | Bin 0 -> 227177 bytes generation_config.json | 9 + image_processing_kimi_vl.py | 126 + model-00001-of-00007.safetensors | 3 + model-00002-of-00007.safetensors | 3 + model-00003-of-00007.safetensors | 3 + model-00004-of-00007.safetensors | 3 + model-00005-of-00007.safetensors | 3 + model-00006-of-00007.safetensors | 3 + model-00007-of-00007.safetensors | 3 + model.safetensors.index.json | 5686 +++++++++++++++++++++++ modeling_kimi_vl.py | 2674 +++++++++++ preprocessor_config.json | 20 + processing_kimi_vl.py | 170 + tiktoken.model | 3 + tokenization_moonshot.py | 302 ++ tokenizer_config.json | 134 + 28 files changed, 9914 insertions(+), 40 deletions(-) create mode 100644 .ipynb_checkpoints/README-checkpoint.md create mode 100644 chat_template.jinja create mode 100644 config.json create mode 100644 configuration.json create mode 100644 configuration_kimi_vl.py create mode 100644 figures/arch.png create mode 100644 figures/demo1.png create mode 100644 figures/demo2.png create mode 100644 figures/logo.png create mode 100644 figures/screenshot.png create mode 100644 figures/thinking_perf.png create mode 100644 generation_config.json create mode 100644 image_processing_kimi_vl.py create mode 100644 model-00001-of-00007.safetensors create mode 100644 model-00002-of-00007.safetensors create mode 100644 model-00003-of-00007.safetensors create mode 100644 model-00004-of-00007.safetensors create mode 100644 model-00005-of-00007.safetensors create mode 100644 model-00006-of-00007.safetensors create mode 100644 model-00007-of-00007.safetensors create mode 100644 model.safetensors.index.json create mode 100644 modeling_kimi_vl.py create mode 100644 preprocessor_config.json create mode 100644 processing_kimi_vl.py create mode 100644 tiktoken.model create mode 100644 tokenization_moonshot.py create mode 100644 tokenizer_config.json diff --git a/.ipynb_checkpoints/README-checkpoint.md b/.ipynb_checkpoints/README-checkpoint.md new file mode 100644 index 0000000..662ae3d --- /dev/null +++ b/.ipynb_checkpoints/README-checkpoint.md @@ -0,0 +1,165 @@ +--- +base_model: +- moonshotai/Kimi-VL-A3B-Instruct +license: mit +pipeline_tag: image-text-to-text +library_name: transformers +--- + +> [!Note] +> This is an improved version of [Kimi-VL-A3B-Thinking](https://huggingface.co/moonshotai/Kimi-VL-A3B-Thinking). Please consider using this updated model instead of the previous version. + +
+ +
+ +
+ + 📄 Tech Report +  |  + + 📄 Github +  |  + 💬 Chat Web +
+ +## 1. Introduction + + +Two months after the initial release of our first open-source multimodal reasoning model, [Kimi-VL-A3B-Thinking](https://huggingface.co/moonshotai/Kimi-VL-A3B-Thinking), we update a regular improved version, [Kimi-VL-A3B-Thinking-2506](https://huggingface.co/moonshotai/Kimi-VL-A3B-Thinking-2506). Compared to the previous version, this new 2506 version provides several new or improved abilities: + +- **It Thinks Smarter while Consuming Less Tokens**: The 2506 version reaches better accuracy on multimodal reasoning benchmarks: 56.9 on MathVision (+20.1), 80.1 on MathVista (+8.4), 46.2 on MMMU-Pro (+3.2), 64.0 on MMMU (+2.1), while in average requires 20\% reduced thinking length. +- **It Sees Clearer with Thinking**: Unlike the previous version that specializes on thinking tasks, the 2506 version can also achieve the same or even better ability on general visual perception and understanding, e.g. MMBench-EN-v1.1 (84.4), MMStar (70.4), RealWorldQA (70.0), MMVet (78.4), surpassing or matching abilties of our non-thinking model ([Kimi-VL-A3B-Instruct](https://huggingface.co/moonshotai/Kimi-VL-A3B-Instruct)). +- **It Extends to Video Scenarios**: The new 2506 version also improves on video reasoning and understanding benchmarks. It sets new state-of-the-art for open-source models on VideoMMMU (65.2), while also retains good ability on general video understanding (71.9 on Video-MME, matching [Kimi-VL-A3B-Instruct](https://huggingface.co/moonshotai/Kimi-VL-A3B-Instruct)). +- **It Extends to Higher Resolution**: The new 2506 version supports 3.2 million total pixels in a single image, 4X compared to the previous version. This leads to non-trivial improvements on high-resolution perception and OS-agent grounding benchmarks: 83.2 on V* Benchmark (without extra tools), 52.8 on ScreenSpot-Pro, 52.5 on OSWorld-G (full set with refusal). + +In this blog, we provide simple examples to use this new model on image reasoning, video reasoning, and OS-agent scenarios. + +## 2. Performance + + + +## 3. Usage + +### 3.1. Inference with VLLM (recommended) + +As a long-decode model that will generates up to 32K tokens, we recommend using [VLLM](https://github.com/vllm-project/vllm/tree/main/vllm) for inference, which has already supported Kimi-VL series. + +```shell +MAX_JOBS=4 pip install vllm==0.9.1 blobfile flash-attn --no-build-isolation +``` + +> [!Note] +> It is important to explicitly install flash-attn to avoid CUDA out-of-memory. + +```python +from transformers import AutoProcessor +from vllm import LLM, SamplingParams + +model_path = "moonshotai/Kimi-VL-A3B-Thinking-2506" +llm = LLM( + model_path, + trust_remote_code=True, + max_num_seqs=8, + max_model_len=131072, + limit_mm_per_prompt={"image": 256} +) + +processor = AutoProcessor.from_pretrained(model_path, trust_remote_code=True) + +sampling_params = SamplingParams(max_tokens=32768, temperature=0.8) + + + +import requests +from PIL import Image + +def extract_thinking_and_summary(text: str, bot: str = "◁think▷", eot: str = "◁/think▷") -> str: + if bot in text and eot not in text: + return "" + if eot in text: + return text[text.index(bot) + len(bot):text.index(eot)].strip(), text[text.index(eot) + len(eot) :].strip() + return "", text + +OUTPUT_FORMAT = "--------Thinking--------\n{thinking}\n\n--------Summary--------\n{summary}" + +url = "https://huggingface.co/spaces/moonshotai/Kimi-VL-A3B-Thinking/resolve/main/images/demo6.jpeg" +image = Image.open(requests.get(url,stream=True).raw) + +messages = [ + {"role": "user", "content": [{"type": "image", "image": ""}, {"type": "text", "text": "What kind of cat is this? Answer with one word."}]} +] +text = processor.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt") + +outputs = llm.generate([{"prompt": text, "multi_modal_data": {"image": image}}], sampling_params=sampling_params) +generated_text = outputs[0].outputs[0].text + +thinking, summary = extract_thinking_and_summary(generated_text) +print(OUTPUT_FORMAT.format(thinking=thinking, summary=summary)) +``` + + +### 3.2. Inference with 🤗 Hugging Face Transformers + +We introduce how to use our model at inference stage using transformers library. It is recommended to use python=3.10, torch>=2.1.0, and transformers=4.48.2 as the development environment. + +```python +from PIL import Image +from transformers import AutoModelForCausalLM, AutoProcessor + +def extract_thinking_and_summary(text: str, bot: str = "◁think▷", eot: str = "◁/think▷") -> str: + if bot in text and eot not in text: + return "" + if eot in text: + return text[text.index(bot) + len(bot):text.index(eot)].strip(), text[text.index(eot) + len(eot) :].strip() + return "", text + +OUTPUT_FORMAT = "--------Thinking--------\n{thinking}\n\n--------Summary--------\n{summary}" + +url = "https://huggingface.co/spaces/moonshotai/Kimi-VL-A3B-Thinking/resolve/main/images/demo6.jpeg" + +model_path = "moonshotai/Kimi-VL-A3B-Thinking-2506" +model = AutoModelForCausalLM.from_pretrained( + model_path, + torch_dtype="auto", + device_map="auto", + trust_remote_code=True, +) +processor = AutoProcessor.from_pretrained(model_path, trust_remote_code=True) + +image_paths = ["url"] +images = [Image.open(path) for path in image_paths] +messages = [ + { + "role": "user", + "content": [ + {"type": "image", "image": image_path} for image_path in image_paths + ] + [{"type": "text", "text": ""What kind of cat is this? Answer with one word."}], + }, +] +text = processor.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt") +inputs = processor(images=images, text=text, return_tensors="pt", padding=True, truncation=True).to(model.device) +generated_ids = model.generate(**inputs, max_new_tokens=32768, temperature=0.8) +generated_ids_trimmed = [ + out_ids[len(in_ids) :] for in_ids, out_ids in zip(inputs.input_ids, generated_ids) +] +response = processor.batch_decode( + generated_ids_trimmed, skip_special_tokens=True, clean_up_tokenization_spaces=False +)[0] +print(response) +``` + + +## 4. Citation + +``` +@misc{kimiteam2025kimivltechnicalreport, + title={{Kimi-VL} Technical Report}, + author={Kimi Team and Angang Du and Bohong Yin and Bowei Xing and Bowen Qu and Bowen Wang and Cheng Chen and Chenlin Zhang and Chenzhuang Du and Chu Wei and Congcong Wang and Dehao Zhang and Dikang Du and Dongliang Wang and Enming Yuan and Enzhe Lu and Fang Li and Flood Sung and Guangda Wei and Guokun Lai and Han Zhu and Hao Ding and Hao Hu and Hao Yang and Hao Zhang and Haoning Wu and Haotian Yao and Haoyu Lu and Heng Wang and Hongcheng Gao and Huabin Zheng and Jiaming Li and Jianlin Su and Jianzhou Wang and Jiaqi Deng and Jiezhong Qiu and Jin Xie and Jinhong Wang and Jingyuan Liu and Junjie Yan and Kun Ouyang and Liang Chen and Lin Sui and Longhui Yu and Mengfan Dong and Mengnan Dong and Nuo Xu and Pengyu Cheng and Qizheng Gu and Runjie Zhou and Shaowei Liu and Sihan Cao and Tao Yu and Tianhui Song and Tongtong Bai and Wei Song and Weiran He and Weixiao Huang and Weixin Xu and Xiaokun Yuan and Xingcheng Yao and Xingzhe Wu and Xinxing Zu and Xinyu Zhou and Xinyuan Wang and Y. Charles and Yan Zhong and Yang Li and Yangyang Hu and Yanru Chen and Yejie Wang and Yibo Liu and Yibo Miao and Yidao Qin and Yimin Chen and Yiping Bao and Yiqin Wang and Yongsheng Kang and Yuanxin Liu and Yulun Du and Yuxin Wu and Yuzhi Wang and Yuzi Yan and Zaida Zhou and Zhaowei Li and Zhejun Jiang and Zheng Zhang and Zhilin Yang and Zhiqi Huang and Zihao Huang and Zijia Zhao and Ziwei Chen}, + year={2025}, + eprint={2504.07491}, + archivePrefix={arXiv}, + primaryClass={cs.CV}, + url={https://arxiv.org/abs/2504.07491}, +} +``` \ No newline at end of file diff --git a/README.md b/README.md index 868c707..cc55415 100644 --- a/README.md +++ b/README.md @@ -1,47 +1,220 @@ --- -license: Apache License 2.0 - -#model-type: -##如 gpt、phi、llama、chatglm、baichuan 等 -#- gpt - -#domain: -##如 nlp、cv、audio、multi-modal -#- nlp - -#language: -##语言代码列表 https://help.aliyun.com/document_detail/215387.html?spm=a2c4g.11186623.0.0.9f8d7467kni6Aa -#- cn - -#metrics: -##如 CIDEr、Blue、ROUGE 等 -#- CIDEr - -#tags: -##各种自定义,包括 pretrained、fine-tuned、instruction-tuned、RL-tuned 等训练方法和其他 -#- pretrained - -#tools: -##如 vllm、fastchat、llamacpp、AdaSeq 等 -#- vllm +base_model: +- moonshotai/Kimi-VL-A3B-Instruct +license: mit +pipeline_tag: image-text-to-text +library_name: transformers --- -### 当前模型的贡献者未提供更加详细的模型介绍。模型文件和权重,可浏览“模型文件”页面获取。 -#### 您可以通过如下git clone命令,或者ModelScope SDK来下载模型 -SDK下载 -```bash -#安装ModelScope -pip install modelscope +> [!Note] +> This is an improved version of [Kimi-VL-A3B-Thinking](https://huggingface.co/moonshotai/Kimi-VL-A3B-Thinking). Please consider using this updated model instead of the previous version. + +
+ +
+ +
+ + 📄 Tech Report +  |  + + 📄 Github +  |  + 💬 Chat Web +
+ +## 1. Introduction + +This is an updated version of [Kimi-VL-A3B-Thinking](https://huggingface.co/moonshotai/Kimi-VL-A3B-Thinking), with following improved abilities: + +- **It Thinks Smarter while Consuming Less Tokens**: The 2506 version reaches better accuracy on multimodal reasoning benchmarks: 56.9 on MathVision (+20.1), 80.1 on MathVista (+8.4), 46.3 on MMMU-Pro (+3.3), 64.0 on MMMU (+2.1), while in average requires 20\% reduced thinking length. +- **It Sees Clearer with Thinking**: Unlike the previous version that specializes on thinking tasks, the 2506 version can also achieve the same or even better ability on general visual perception and understanding, e.g. MMBench-EN-v1.1 (84.4), MMStar (70.4), RealWorldQA (70.0), MMVet (78.4), surpassing or matching abilties of our non-thinking model ([Kimi-VL-A3B-Instruct](https://huggingface.co/moonshotai/Kimi-VL-A3B-Instruct)). +- **It Extends to Video Scenarios**: The new 2506 version also improves on video reasoning and understanding benchmarks. It sets new state-of-the-art for open-source models on VideoMMMU (65.2), while also retains good ability on general video understanding (71.9 on Video-MME, matching [Kimi-VL-A3B-Instruct](https://huggingface.co/moonshotai/Kimi-VL-A3B-Instruct)). +- **It Extends to Higher Resolution**: The new 2506 version supports 3.2 million total pixels in a single image, 4X compared to the previous version. This leads to non-trivial improvements on high-resolution perception and OS-agent grounding benchmarks: 83.2 on V* Benchmark (without extra tools), 52.8 on ScreenSpot-Pro, 52.5 on OSWorld-G (full set with refusal). + + +## 2. Performance + +Comparison with efficient models and two previous versions of Kimi-VL: + +
+ +| Benchmark (Metric) | GPT-4o | Qwen2.5-VL-7B | Gemma3-12B-IT | Kimi-VL-A3B-Instruct | Kimi-VL-A3B-Thinking | Kimi-VL-A3B-Thinking-2506 | +|----------------------------|--------|---------------|---------------|----------------------|----------------------|--------------------------| +| **General Multimodal** | | | | | | | +| MMBench-EN-v1.1 (Acc) | 83.1 | 83.2 | 74.6 | 82.9 | 76.0 | **84.4** | +| RealWorldQA (Acc) | 75.4 | 68.5 | 59.1 | 68.1 | 64.0 | **70.0** | +| OCRBench (Acc) | 815 | 864 | 702 | 864 | 864 | **869** | +| MMStar (Acc) | 64.7 | 63.0 | 56.1 | 61.7 | 64.2 | **70.4** | +| MMVet (Acc) | 69.1 | 67.1 | 64.9 | 66.7 | 69.5 | **78.1** | +| **Reasoning** | | | | | | | +| MMMU (val, Pass@1) | 69.1 | 58.6 | 59.6 | 57.0 | 61.7 | **64.0** | +| MMMU-Pro (Pass@1) | 51.7 | 38.1 | 32.1 | 36.0 | 43.2 | **46.3** | +| **Math** | | | | | | | +| MATH-Vision (Pass@1) | 30.4 | 25.0 | 32.1 | 21.7 | 36.8 | **56.9** | +| MathVista_MINI (Pass@1) | 63.8 | 68.0 | 56.1 | 68.6 | 71.7 | **80.1** | +| **Video** | | | | | | | +| VideoMMMU (Pass@1) | 61.2 | 47.4 | 57.0 | 52.1 | 55.5 | **65.2** | +| MMVU (Pass@1) | 67.4 | 50.1 | 57.0 | 52.7 | 53.0 | **57.5** | +| Video-MME (w/ sub.) | 77.2 | 71.6 | 62.1 | **72.7** | 66.0 | 71.9 | +| **Agent Grounding** | | | | | | | +| ScreenSpot-Pro (Acc) | 0.8 | 29.0 | — | 35.4 | — | **52.8** | +| ScreenSpot-V2 (Acc) | 18.1 | 84.2 | — | **92.8** | — | 91.4 | +| OSWorld-G (Acc) | - | 31.5 | — | 41.6 | — | **52.5** | +| **Long Document** | | | | | | | +| MMLongBench-DOC (Acc) | 42.8 | 29.6 | 21.3 | 35.1 | 32.5 | **42.1** | +
+ +Comparison with 30B-70B open-source models: + +
+ +| Benchmark (Metric) | Kimi-VL-A3B-Thinking-2506 | Qwen2.5-VL-32B | Qwen2.5-VL-72B | Gemma3-27B-IT | +|----------------------------|---------------------------|---------------|---------------|---------------| + | **General Multimodal** | | | | | +| MMBench-EN-v1.1 (Acc) | 84.4 | - | 88.3 | 78.9 | +| RealWorldQA (Acc) | 70.0 | - | 75.7 | 62.5 | +| OCRBench (Acc) | 869 | - | 885 | 753 | +| MMStar (Acc) | 70.4 | 69.5 | 70.8 | 63.1 | +| MMVet (Acc) | 78.1 | - | 74.0 | 71.0 | +| **Reasoning** | | | || +| MMMU (val, Pass@1) | 64.0 | 70.0 | 70.2 | 64.9 | +| MMMU-Pro (Pass@1) | 46.3 | 49.5 | 51.1 | - | +| MATH-Vision (Pass@1) | 56.9 | 38.4 | 38.1 | 35.4 | +| MathVista\_MINI (Pass@1) | 80.1 | 74.7 | 74.8 | 59.8 | +| **Video** | | | | | +| VideoMMMU (Pass@1) | 65.2 | - | 60.2 | 61.8 | +| MMVU (Pass@1) | 57.5 | - | 62.9 | 61.3 | +| Video-MME (w/ sub.) | 71.9 | 70.5/77.9 | 73.3/79.1 | - | +| **Agent Grounding** | | | | | +| ScreenSpot-Pro (Acc) | 52.8 | 39.4 | 43.6 | - | +| ScreenSpot-V2 (Acc) | 91.4 | - | - | - | +| OSWorld-G (Acc) | 52.5 | 46.5 | - | - | +| **Long Document** | | | | | +| MMLongBench-DOC (Acc) | 42.1 | - | 38.8 | - | +
+ + +## 3. Usage + +### 3.1. Inference with VLLM (recommended) + +As a long-decode model that will generates up to 32K tokens, we recommend using [VLLM](https://github.com/vllm-project/vllm/tree/main/vllm) for inference, which has already supported Kimi-VL series. + +```shell +MAX_JOBS=4 pip install vllm==0.9.1 blobfile flash-attn --no-build-isolation ``` + +> [!Note] +> It is important to explicitly install flash-attn to avoid CUDA out-of-memory. + ```python -#SDK模型下载 -from modelscope import snapshot_download -model_dir = snapshot_download('moonshotai/Kimi-VL-A3B-Thinking-2506') -``` -Git下载 -``` -#Git模型下载 -git clone https://www.modelscope.cn/moonshotai/Kimi-VL-A3B-Thinking-2506.git +from transformers import AutoProcessor +from vllm import LLM, SamplingParams + +model_path = "moonshotai/Kimi-VL-A3B-Thinking-2506" +llm = LLM( + model_path, + trust_remote_code=True, + max_num_seqs=8, + max_model_len=131072, + limit_mm_per_prompt={"image": 256} +) + +processor = AutoProcessor.from_pretrained(model_path, trust_remote_code=True) + +sampling_params = SamplingParams(max_tokens=32768, temperature=0.8) + + +import requests +from PIL import Image + +def extract_thinking_and_summary(text: str, bot: str = "◁think▷", eot: str = "◁/think▷") -> str: + if bot in text and eot not in text: + return "" + if eot in text: + return text[text.index(bot) + len(bot):text.index(eot)].strip(), text[text.index(eot) + len(eot) :].strip() + return "", text + +OUTPUT_FORMAT = "--------Thinking--------\n{thinking}\n\n--------Summary--------\n{summary}" + +url = "https://huggingface.co/spaces/moonshotai/Kimi-VL-A3B-Thinking/resolve/main/images/demo6.jpeg" +image = Image.open(requests.get(url,stream=True).raw) + +messages = [ + {"role": "user", "content": [{"type": "image", "image": ""}, {"type": "text", "text": "What kind of cat is this? Answer with one word."}]} +] +text = processor.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt") + +outputs = llm.generate([{"prompt": text, "multi_modal_data": {"image": image}}], sampling_params=sampling_params) +generated_text = outputs[0].outputs[0].text + +thinking, summary = extract_thinking_and_summary(generated_text) +print(OUTPUT_FORMAT.format(thinking=thinking, summary=summary)) ``` -

如果您是本模型的贡献者,我们邀请您根据模型贡献文档,及时完善模型卡片内容。

\ No newline at end of file + +### 3.2. Inference with 🤗 Hugging Face Transformers + +We introduce how to use our model at inference stage using transformers library. It is recommended to use python=3.10, torch>=2.1.0, and transformers=4.48.2 as the development environment. + +```python +from PIL import Image +from transformers import AutoModelForCausalLM, AutoProcessor + +def extract_thinking_and_summary(text: str, bot: str = "◁think▷", eot: str = "◁/think▷") -> str: + if bot in text and eot not in text: + return "" + if eot in text: + return text[text.index(bot) + len(bot):text.index(eot)].strip(), text[text.index(eot) + len(eot) :].strip() + return "", text + +OUTPUT_FORMAT = "--------Thinking--------\n{thinking}\n\n--------Summary--------\n{summary}" + +url = "https://huggingface.co/spaces/moonshotai/Kimi-VL-A3B-Thinking/resolve/main/images/demo6.jpeg" + +model_path = "moonshotai/Kimi-VL-A3B-Thinking-2506" +model = AutoModelForCausalLM.from_pretrained( + model_path, + torch_dtype="auto", + device_map="auto", + trust_remote_code=True, +) +processor = AutoProcessor.from_pretrained(model_path, trust_remote_code=True) + +image_paths = ["url"] +images = [Image.open(path) for path in image_paths] +messages = [ + { + "role": "user", + "content": [ + {"type": "image", "image": image_path} for image_path in image_paths + ] + [{"type": "text", "text": ""What kind of cat is this? Answer with one word."}], + }, +] +text = processor.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt") +inputs = processor(images=images, text=text, return_tensors="pt", padding=True, truncation=True).to(model.device) +generated_ids = model.generate(**inputs, max_new_tokens=32768, temperature=0.8) +generated_ids_trimmed = [ + out_ids[len(in_ids) :] for in_ids, out_ids in zip(inputs.input_ids, generated_ids) +] +response = processor.batch_decode( + generated_ids_trimmed, skip_special_tokens=True, clean_up_tokenization_spaces=False +)[0] +print(response) +``` + + +## 4. Citation + +``` +@misc{kimiteam2025kimivltechnicalreport, + title={{Kimi-VL} Technical Report}, + author={Kimi Team and Angang Du and Bohong Yin and Bowei Xing and Bowen Qu and Bowen Wang and Cheng Chen and Chenlin Zhang and Chenzhuang Du and Chu Wei and Congcong Wang and Dehao Zhang and Dikang Du and Dongliang Wang and Enming Yuan and Enzhe Lu and Fang Li and Flood Sung and Guangda Wei and Guokun Lai and Han Zhu and Hao Ding and Hao Hu and Hao Yang and Hao Zhang and Haoning Wu and Haotian Yao and Haoyu Lu and Heng Wang and Hongcheng Gao and Huabin Zheng and Jiaming Li and Jianlin Su and Jianzhou Wang and Jiaqi Deng and Jiezhong Qiu and Jin Xie and Jinhong Wang and Jingyuan Liu and Junjie Yan and Kun Ouyang and Liang Chen and Lin Sui and Longhui Yu and Mengfan Dong and Mengnan Dong and Nuo Xu and Pengyu Cheng and Qizheng Gu and Runjie Zhou and Shaowei Liu and Sihan Cao and Tao Yu and Tianhui Song and Tongtong Bai and Wei Song and Weiran He and Weixiao Huang and Weixin Xu and Xiaokun Yuan and Xingcheng Yao and Xingzhe Wu and Xinxing Zu and Xinyu Zhou and Xinyuan Wang and Y. Charles and Yan Zhong and Yang Li and Yangyang Hu and Yanru Chen and Yejie Wang and Yibo Liu and Yibo Miao and Yidao Qin and Yimin Chen and Yiping Bao and Yiqin Wang and Yongsheng Kang and Yuanxin Liu and Yulun Du and Yuxin Wu and Yuzhi Wang and Yuzi Yan and Zaida Zhou and Zhaowei Li and Zhejun Jiang and Zheng Zhang and Zhilin Yang and Zhiqi Huang and Zihao Huang and Zijia Zhao and Ziwei Chen}, + year={2025}, + eprint={2504.07491}, + archivePrefix={arXiv}, + primaryClass={cs.CV}, + url={https://arxiv.org/abs/2504.07491}, +} +``` \ No newline at end of file diff --git a/chat_template.jinja b/chat_template.jinja new file mode 100644 index 0000000..019818d --- /dev/null +++ b/chat_template.jinja @@ -0,0 +1,31 @@ +{%- for message in messages -%} + {%- if loop.first and messages[0]['role'] != 'system' -%} + {{'<|im_system|>system<|im_middle|>You are a helpful assistant<|im_end|>'}} + {%- endif -%} + {%- if message['role'] == 'system' -%} + {{'<|im_system|>'}} + {%- endif -%} + {%- if message['role'] == 'user' -%} + {{'<|im_user|>'}} + {%- endif -%} + {%- if message['role'] == 'assistant' -%} + {{'<|im_assistant|>'}} + {%- endif -%} + {{- message['role'] -}} + {{'<|im_middle|>'}} + {%- if message['content'] is string -%} + {{- message['content'] + '<|im_end|>' -}} + {%- else -%} + {%- for content in message['content'] -%} + {%- if content['type'] == 'image' or 'image' in content or 'image_url' in content -%} + {{'<|media_start|>image<|media_content|><|media_pad|><|media_end|>'}} + {%- else -%} + {{content['text']}} + {%- endif -%} + {%- endfor -%} + {{'<|im_end|>'}} + {%- endif -%} +{%- endfor -%} +{%- if add_generation_prompt -%} + {{'<|im_assistant|>assistant<|im_middle|>'}} +{%- endif -%} diff --git a/config.json b/config.json new file mode 100644 index 0000000..7acee6b --- /dev/null +++ b/config.json @@ -0,0 +1,75 @@ +{ + "architectures": [ + "KimiVLForConditionalGeneration" + ], + "auto_map": { + "AutoConfig": "configuration_kimi_vl.KimiVLConfig", + "AutoModel": "modeling_kimi_vl.KimiVLForConditionalGeneration", + "AutoModelForCausalLM": "modeling_kimi_vl.KimiVLForConditionalGeneration" + }, + "vision_config": { + "model_type": "moonvit", + "patch_size": 14, + "num_attention_heads": 16, + "num_hidden_layers": 27, + "hidden_size": 1152, + "intermediate_size": 4304, + "init_pos_emb_height": 64, + "init_pos_emb_width": 64, + "merge_kernel_size": [ + 2, + 2 + ], + "torch_dtype": "bfloat16" + }, + "text_config": { + "vocab_size": 163840, + "max_position_embeddings": 131072, + "hidden_size": 2048, + "intermediate_size": 11264, + "moe_intermediate_size": 1408, + "num_hidden_layers": 27, + "num_attention_heads": 16, + "n_shared_experts": 2, + "n_routed_experts": 64, + "ep_size": 1, + "routed_scaling_factor": 2.446, + "kv_lora_rank": 512, + "q_lora_rank": null, + "qk_rope_head_dim": 64, + "v_head_dim": 128, + "qk_nope_head_dim": 128, + "topk_method": "noaux_tc", + "n_group": 1, + "topk_group": 1, + "num_experts_per_tok": 6, + "moe_layer_freq": 1, + "first_k_dense_replace": 1, + "norm_topk_prob": true, + "scoring_func": "sigmoid", + "aux_loss_alpha": 0.001, + "seq_aux": true, + "num_key_value_heads": 16, + "hidden_act": "silu", + "initializer_range": 0.02, + "rms_norm_eps": 1e-05, + "pretraining_tp": 1, + "use_cache": true, + "rope_theta": 800000.0, + "rope_scaling": null, + "attention_bias": false, + "attention_dropout": 0.0, + "bos_token_id": 163584, + "pad_token_id": 163839, + "eos_token_id": 163585, + "torch_dtype": "bfloat16", + "tie_word_embeddings": false + }, + "ignore_index": -100, + "media_placeholder_token_id": 163605, + "torch_dtype": "bfloat16", + "transformers_version": "4.50.3", + "tie_word_embeddings": false, + "vocab_size": 163840, + "model_type": "kimi_vl" +} \ No newline at end of file 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/configuration_kimi_vl.py b/configuration_kimi_vl.py new file mode 100644 index 0000000..7542fdd --- /dev/null +++ b/configuration_kimi_vl.py @@ -0,0 +1,284 @@ +from transformers.configuration_utils import PretrainedConfig +from transformers.utils import logging +from typing import Optional, Union + +logger = logging.get_logger(__name__) + +DEEPSEEK_PRETRAINED_CONFIG_ARCHIVE_MAP = {} + + +class DeepseekV3Config(PretrainedConfig): + r""" + This is the configuration class to store the configuration of a [`DeepseekV3Model`]. It is used to instantiate an DeepSeek + model according to the specified arguments, defining the model architecture. Instantiating a configuration with the + defaults will yield a similar configuration to that of the DeepSeek-V3. + + Configuration objects inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the + documentation from [`PretrainedConfig`] for more information. + + Copy from https://huggingface.co/deepseek-ai/DeepSeek-V3/blob/main/configuration_deepseek.py + + Args: + vocab_size (`int`, *optional*, defaults to 129280): + Vocabulary size of the Deep model. Defines the number of different tokens that can be represented by the + `inputs_ids` passed when calling [`DeepseekV3Model`] + hidden_size (`int`, *optional*, defaults to 4096): + Dimension of the hidden representations. + intermediate_size (`int`, *optional*, defaults to 11008): + Dimension of the MLP representations. + moe_intermediate_size (`int`, *optional*, defaults to 1407): + Dimension of the MoE representations. + num_hidden_layers (`int`, *optional*, defaults to 32): + Number of hidden layers in the Transformer decoder. + num_nextn_predict_layers (`int`, *optional*, defaults to 1): + Number of nextn predict layers in the DeepSeekV3 Model. + num_attention_heads (`int`, *optional*, defaults to 32): + Number of attention heads for each attention layer in the Transformer decoder. + n_shared_experts (`int`, *optional*, defaults to None): + Number of shared experts, None means dense model. + n_routed_experts (`int`, *optional*, defaults to None): + Number of routed experts, None means dense model. + routed_scaling_factor (`float`, *optional*, defaults to 1.0): + Scaling factor or routed experts. + topk_method (`str`, *optional*, defaults to `gready`): + Topk method used in routed gate. + n_group (`int`, *optional*, defaults to None): + Number of groups for routed experts. + topk_group (`int`, *optional*, defaults to None): + Number of selected groups for each token(for each token, ensuring the selected experts is only within `topk_group` groups). + num_experts_per_tok (`int`, *optional*, defaults to None): + Number of selected experts, None means dense model. + moe_layer_freq (`int`, *optional*, defaults to 1): + The frequency of the MoE layer: one expert layer for every `moe_layer_freq - 1` dense layers. + first_k_dense_replace (`int`, *optional*, defaults to 0): + Number of dense layers in shallow layers(embed->dense->dense->...->dense->moe->moe...->lm_head). + \--k dense layers--/ + norm_topk_prob (`bool`, *optional*, defaults to False): + Whether to normalize the weights of the routed experts. + scoring_func (`str`, *optional*, defaults to 'softmax'): + Method of computing expert weights. + aux_loss_alpha (`float`, *optional*, defaults to 0.001): + Auxiliary loss weight coefficient. + seq_aux = (`bool`, *optional*, defaults to True): + Whether to compute the auxiliary loss for each individual sample. + num_key_value_heads (`int`, *optional*): + This is the number of key_value heads that should be used to implement Grouped Query Attention. If + `num_key_value_heads=num_attention_heads`, the model will use Multi Head Attention (MHA), if + `num_key_value_heads=1 the model will use Multi Query Attention (MQA) otherwise GQA is used. When + converting a multi-head checkpoint to a GQA checkpoint, each group key and value head should be constructed + by meanpooling all the original heads within that group. For more details checkout [this + paper](https://arxiv.org/pdf/2305.13245.pdf). If it is not specified, will default to + `num_attention_heads`. + hidden_act (`str` or `function`, *optional*, defaults to `"silu"`): + The non-linear activation function (function or string) in the decoder. + max_position_embeddings (`int`, *optional*, defaults to 2048): + The maximum sequence length that this model might ever be used with. + initializer_range (`float`, *optional*, defaults to 0.02): + The standard deviation of the truncated_normal_initializer for initializing all weight matrices. + rms_norm_eps (`float`, *optional*, defaults to 1e-06): + The epsilon used by the rms normalization layers. + use_cache (`bool`, *optional*, defaults to `True`): + Whether or not the model should return the last key/values attentions (not used by all models). Only + relevant if `config.is_decoder=True`. + pad_token_id (`int`, *optional*): + Padding token id. + bos_token_id (`int`, *optional*, defaults to 1): + Beginning of stream token id. + eos_token_id (`int`, *optional*, defaults to 2): + End of stream token id. + pretraining_tp (`int`, *optional*, defaults to 1): + Experimental feature. Tensor parallelism rank used during pretraining. Please refer to [this + document](https://huggingface.co/docs/transformers/parallelism) to understand more about it. This value is + necessary to ensure exact reproducibility of the pretraining results. Please refer to [this + issue](https://github.com/pytorch/pytorch/issues/76232). + tie_word_embeddings (`bool`, *optional*, defaults to `False`): + Whether to tie weight embeddings + rope_theta (`float`, *optional*, defaults to 10000.0): + The base period of the RoPE embeddings. + rope_scaling (`Dict`, *optional*): + Dictionary containing the scaling configuration for the RoPE embeddings. Currently supports two scaling + strategies: linear and dynamic. Their scaling factor must be a float greater than 1. The expected format is + `{"type": strategy name, "factor": scaling factor}`. When using this flag, don't update + `max_position_embeddings` to the expected new maximum. + attention_bias (`bool`, defaults to `False`, *optional*, defaults to `False`): + Whether to use a bias in the query, key, value and output projection layers during self-attention. + attention_dropout (`float`, *optional*, defaults to 0.0): + The dropout ratio for the attention probabilities. + + ```python + >>> from transformers import DeepseekV3Model, DeepseekV3Config + + >>> # Initializing a Deepseek-V3 style configuration + >>> configuration = DeepseekV3Config() + + >>> # Accessing the model configuration + >>> configuration = model.config + ```""" + + model_type = "deepseek_v3" + keys_to_ignore_at_inference = ["past_key_values"] + + def __init__( + self, + vocab_size=129280, + hidden_size=7168, + intermediate_size=18432, + moe_intermediate_size=2048, + num_hidden_layers=61, + num_nextn_predict_layers=1, + num_attention_heads=128, + num_key_value_heads=128, + n_shared_experts=1, + n_routed_experts=256, + ep_size=1, + routed_scaling_factor=2.5, + kv_lora_rank=512, + q_lora_rank=1536, + qk_rope_head_dim=64, + v_head_dim=128, + qk_nope_head_dim=128, + topk_method="noaux_tc", + n_group=8, + topk_group=4, + num_experts_per_tok=8, + moe_layer_freq=1, + first_k_dense_replace=3, + norm_topk_prob=True, + scoring_func="sigmoid", + aux_loss_alpha=0.001, + seq_aux=True, + hidden_act="silu", + max_position_embeddings=4096, + initializer_range=0.02, + rms_norm_eps=1e-6, + use_cache=True, + pad_token_id=None, + bos_token_id=0, + eos_token_id=1, + pretraining_tp=1, + tie_word_embeddings=False, + rope_theta=10000.0, + rope_scaling=None, + attention_bias=False, + attention_dropout=0.0, + **kwargs, + ): + self.vocab_size = vocab_size + self.max_position_embeddings = max_position_embeddings + self.hidden_size = hidden_size + self.intermediate_size = intermediate_size + self.moe_intermediate_size = moe_intermediate_size + self.num_hidden_layers = num_hidden_layers + self.num_nextn_predict_layers = num_nextn_predict_layers + self.num_attention_heads = num_attention_heads + self.n_shared_experts = n_shared_experts + self.n_routed_experts = n_routed_experts + self.ep_size = ep_size + self.routed_scaling_factor = routed_scaling_factor + self.kv_lora_rank = kv_lora_rank + self.q_lora_rank = q_lora_rank + self.qk_rope_head_dim = qk_rope_head_dim + self.v_head_dim = v_head_dim + self.qk_nope_head_dim = qk_nope_head_dim + self.topk_method = topk_method + self.n_group = n_group + self.topk_group = topk_group + self.num_experts_per_tok = num_experts_per_tok + self.moe_layer_freq = moe_layer_freq + self.first_k_dense_replace = first_k_dense_replace + self.norm_topk_prob = norm_topk_prob + self.scoring_func = scoring_func + self.aux_loss_alpha = aux_loss_alpha + self.seq_aux = seq_aux + # for backward compatibility + if num_key_value_heads is None: + num_key_value_heads = num_attention_heads + + self.num_key_value_heads = num_key_value_heads + self.hidden_act = hidden_act + self.initializer_range = initializer_range + self.rms_norm_eps = rms_norm_eps + self.pretraining_tp = pretraining_tp + self.use_cache = use_cache + self.rope_theta = rope_theta + self.rope_scaling = rope_scaling + self.attention_bias = attention_bias + self.attention_dropout = attention_dropout + + super().__init__( + pad_token_id=pad_token_id, + bos_token_id=bos_token_id, + eos_token_id=eos_token_id, + tie_word_embeddings=tie_word_embeddings, + **kwargs, + ) + + +class MoonViTConfig(PretrainedConfig): + model_type = "moonvit" + + def __init__( + self, + patch_size: int = 14, + init_pos_emb_height: int = 64, + init_pos_emb_width: int = 64, + num_attention_heads: int = 16, + num_hidden_layers: int = 27, + hidden_size: int = 1152, + intermediate_size: int = 4304, + merge_kernel_size: tuple[int, int] = (2, 2), + **kwargs, + ): + super().__init__(**kwargs) + self.patch_size = patch_size + # Positional embedding config + self.init_pos_emb_height = init_pos_emb_height + self.init_pos_emb_width = init_pos_emb_width + # Transformer config + self.num_hidden_layers = num_hidden_layers + self.num_attention_heads = num_attention_heads + self.hidden_size = hidden_size + self.intermediate_size = intermediate_size + # Patch merger config + self.merge_kernel_size = merge_kernel_size + + +class KimiVLConfig(PretrainedConfig): + model_type = "kimi_vl" + + def __init__( + self, + vision_config: Optional[Union[dict, MoonViTConfig]] = None, + text_config: Optional[Union[dict, DeepseekV3Config]] = None, + ignore_index: int = -100, + media_placeholder_token_id: int = 163605, + pad_token_id: int = 0, + **kwargs, + ): + if vision_config is None: + vision_config = MoonViTConfig() + elif isinstance(vision_config, dict): + vision_config = MoonViTConfig(**vision_config) + self.vision_config = vision_config + + if text_config is None: + text_config = DeepseekV3Config() + elif isinstance(text_config, dict): + text_config = DeepseekV3Config(**text_config) + self.text_config = text_config + + self.ignore_index = ignore_index + self.media_placeholder_token_id = media_placeholder_token_id + + attn_implementation = kwargs.get("attn_implementation") + if attn_implementation is not None: + if attn_implementation in ["eager", "flash_attention_2"]: + self._attn_implementation = attn_implementation + self.vision_config._attn_implementation = attn_implementation + self.text_config._attn_implementation = attn_implementation + else: + raise ValueError( + f"Invalid attention implementation: {attn_implementation}" + ) + + super().__init__(pad_token_id=pad_token_id, **kwargs) diff --git a/figures/arch.png b/figures/arch.png new file mode 100644 index 0000000000000000000000000000000000000000..94c753aa3c0c48345a8f702e2aa22b8664727caa GIT binary patch literal 641358 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