{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/glm-4-1v-thinking-towards-versatile","title":"GLM-4.1V-Thinking: Towards Versatile Multimodal Reasoning with Scalable Reinforcement Learning","arxiv_id":"2507.01006","date":"2025-07-01","proceeding":null,"authors":["GLM-V Team",":","Wenyi Hong","Wenmeng Yu","Xiaotao Gu","Guo Wang","Guobing Gan","Haomiao Tang","Jiale Cheng","Ji Qi","Junhui Ji","Lihang Pan","Shuaiqi Duan","Weihan Wang","Yan Wang","Yean Cheng","Zehai He","Zhe Su","Zhen Yang","Ziyang Pan","Aohan Zeng","Baoxu Wang","Boyan Shi","Changyu Pang","Chenhui Zhang","Da Yin","Fan Yang","Guoqing Chen","Jiazheng Xu","Jiali Chen","Jing Chen","Jinhao Chen","Jinghao Lin","Jinjiang Wang","Junjie Chen","Leqi Lei","Letian Gong","Leyi Pan","Mingzhi Zhang","Qinkai Zheng","Sheng Yang","Shi Zhong","Shiyu Huang","Shuyuan Zhao","Siyan Xue","Shangqin Tu","Shengbiao Meng","Tianshu Zhang","Tianwei Luo","Tianxiang Hao","Wenkai Li","Wei Jia","Xin Lyu","Xuancheng Huang","Yanling Wang","Yadong Xue","Yanfeng Wang","Yifan An","Yifan Du","Yiming Shi","Yiheng Huang","Yilin Niu","YuAn Wang","Yuanchang Yue","Yuchen Li","Yutao Zhang","Yuxuan Zhang","Zhanxiao Du","Zhenyu Hou","Zhao Xue","Zhengxiao Du","Zihan Wang","Peng Zhang","Debing Liu","Bin Xu","Juanzi Li","Minlie Huang","Yuxiao Dong","Jie Tang"],"abstract":"We present GLM-4.1V-Thinking, a vision-language model (VLM) designed to advance general-purpose multimodal understanding and reasoning. In this report, we share our key findings in the development of the reasoning-centric training framework. We first develop a capable vision foundation model with significant potential through large-scale pre-training, which arguably sets the upper bound for the final performance. We then propose Reinforcement Learning with Curriculum Sampling (RLCS) to unlock the full potential of the model, leading to comprehensive capability enhancement across a diverse range of tasks, including STEM problem solving, video understanding, content recognition, coding, grounding, GUI-based agents, and long document understanding. We open-source GLM-4.1V-9B-Thinking, which achieves state-of-the-art performance among models of comparable size. In a comprehensive evaluation across 28 public benchmarks, our model outperforms Qwen2.5-VL-7B on nearly all tasks and achieves comparable or even superior performance on 18 benchmarks relative to the significantly larger Qwen2.5-VL-72B. Notably, GLM-4.1V-9B-Thinking also demonstrates competitive or superior performance compared to closed-source models such as GPT-4o on challenging tasks including long document understanding and STEM reasoning, further underscoring its strong capabilities. Code, models and more information are released at https://github.com/THUDM/GLM-4.1V-Thinking.","url_abs":"https://arxiv.org/abs/2507.01006v2","url_pdf":"https://arxiv.org/pdf/2507.01006v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"glm-4-1v-thinking-towards-versatile","repo_url":"https://github.com/thudm/glm-4.1v-thinking","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"multimodal-reasoning","task_name":"Multimodal Reasoning"},{"task_slug":"video-understanding","task_name":"Video Understanding"},{"task_slug":"document-understanding","task_name":"document understanding"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2507.01006","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2507.01006"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/thudm/glm-4.1v-thinking","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"unverified":11},"by_repo_kind":{"official":{"samples":11,"ran":0,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"456fb1298131c269","entry":"build_content","repo":"thudm/glm-4.1v-thinking","repo_kind":"official","path":"inference/trans_infer_cli.py","file_url":"https://github.com/thudm/glm-4.1v-thinking/blob/HEAD/inference/trans_infer_cli.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"456fb1298131c269"}},{"code_sha256_prefix":"637b3251fb7af91b","entry":"check_files","repo":"thudm/glm-4.1v-thinking","repo_kind":"official","path":"inference/trans_infer_gradio.py","file_url":"https://github.com/thudm/glm-4.1v-thinking/blob/HEAD/inference/trans_infer_gradio.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"637b3251fb7af91b"}},{"code_sha256_prefix":"3d1201cb2661676e","entry":"create_display_history","repo":"thudm/glm-4.1v-thinking","repo_kind":"official","path":"inference/trans_infer_gradio.py","file_url":"https://github.com/thudm/glm-4.1v-thinking/blob/HEAD/inference/trans_infer_gradio.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"3d1201cb2661676e"}},{"code_sha256_prefix":"107e2008fcd35451","entry":"encode_image","repo":"thudm/glm-4.1v-thinking","repo_kind":"official","path":"glmv_reward/src/glmv_reward/utils/image.py","file_url":"https://github.com/thudm/glm-4.1v-thinking/blob/HEAD/glmv_reward/src/glmv_reward/utils/image.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"107e2008fcd35451"}},{"code_sha256_prefix":"fb051b57bae1999a","entry":"ensure_list","repo":"thudm/glm-4.1v-thinking","repo_kind":"official","path":"glmv_reward/src/glmv_reward/utils/misc.py","file_url":"https://github.com/thudm/glm-4.1v-thinking/blob/HEAD/glmv_reward/src/glmv_reward/utils/misc.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"fb051b57bae1999a"}},{"code_sha256_prefix":"f442195695179503","entry":"ensure_text","repo":"thudm/glm-4.1v-thinking","repo_kind":"official","path":"glmv_reward/src/glmv_reward/utils/misc.py","file_url":"https://github.com/thudm/glm-4.1v-thinking/blob/HEAD/glmv_reward/src/glmv_reward/utils/misc.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"f442195695179503"}},{"code_sha256_prefix":"913cc287b79090a4","entry":"format_display_content","repo":"thudm/glm-4.1v-thinking","repo_kind":"official","path":"inference/trans_infer_gradio.py","file_url":"https://github.com/thudm/glm-4.1v-thinking/blob/HEAD/inference/trans_infer_gradio.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"913cc287b79090a4"}},{"code_sha256_prefix":"e44711e0f5fff99f","entry":"get_logger","repo":"thudm/glm-4.1v-thinking","repo_kind":"official","path":"glmv_reward/src/glmv_reward/utils/logging.py","file_url":"https://github.com/thudm/glm-4.1v-thinking/blob/HEAD/glmv_reward/src/glmv_reward/utils/logging.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e44711e0f5fff99f"}},{"code_sha256_prefix":"3eda651318fb875a","entry":"mkdir","repo":"thudm/glm-4.1v-thinking","repo_kind":"official","path":"glmv_reward/src/glmv_reward/utils/path.py","file_url":"https://github.com/thudm/glm-4.1v-thinking/blob/HEAD/glmv_reward/src/glmv_reward/utils/path.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"3eda651318fb875a"}},{"code_sha256_prefix":"0cc887b30d570c60","entry":"parse_tar_header","repo":"thudm/glm-4.1v-thinking","repo_kind":"official","path":"glmv_reward/src/glmv_reward/utils/path.py","file_url":"https://github.com/thudm/glm-4.1v-thinking/blob/HEAD/glmv_reward/src/glmv_reward/utils/path.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"0cc887b30d570c60"}},{"code_sha256_prefix":"6160e11adc566628","entry":"resolve_path","repo":"thudm/glm-4.1v-thinking","repo_kind":"official","path":"glmv_reward/src/glmv_reward/utils/path.py","file_url":"https://github.com/thudm/glm-4.1v-thinking/blob/HEAD/glmv_reward/src/glmv_reward/utils/path.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"6160e11adc566628"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}