--- license: apache-2.0 base_model: FuseAI/FuseO1-DeepSeekR1-QwQ-SkyT1-32B-Preview tags: - llama-cpp - gguf-my-repo --- # Triangle104/FuseO1-DeepSeekR1-QwQ-SkyT1-32B-Preview-Q5_K_M-GGUF This model was converted to GGUF format from [`FuseAI/FuseO1-DeepSeekR1-QwQ-SkyT1-32B-Preview`](https://huggingface.co/FuseAI/FuseO1-DeepSeekR1-QwQ-SkyT1-32B-Preview) using llama.cpp via the ggml.ai's [GGUF-my-repo](https://huggingface.co/spaces/ggml-org/gguf-my-repo) space. Refer to the [original model card](https://huggingface.co/FuseAI/FuseO1-DeepSeekR1-QwQ-SkyT1-32B-Preview) for more details on the model. --- Overview - FuseO1-Preview is our initial endeavor to enhance the System-II reasoning capabilities of large language models (LLMs) through innovative model fusion techniques. By employing our advanced SCE merging methodologies, we integrate multiple open-source o1-like LLMs into a unified model. Our goal is to incorporate the distinct knowledge and strengths from different reasoning LLMs into a single, unified model with strong System-II reasoning abilities, particularly in mathematics, coding, and science domains. To achieve this, we conduct two types of model merging: Long-Long Reasoning Merging: This approach involves model fusion across LLMs that utilize long-CoT reasoning, with the goal of enhancing long-CoT reasoning capabilities. The resulted FuseAI/FuseO1-DeepSeekR1-QwQ-SkyT1-32B-Preview achieves a Pass@1 accuracy of 74.0 on AIME24, demonstrating significant performance improvements compared to the OpenAI o1-preview (44.6) and OpenAI o1-mini (63.4), even approaching OpenAI o1 (79.2). Long-Short Reasoning Merging: This approach involves model fusion between long-CoT and short-CoT LLMs, aiming to improve reasoning capabilities in both long and short reasoning processes. The resulted FuseAI/FuseO1-DeepSeekR1-Qwen2.5-Instruct-32B-Preview and FuseAI/FuseO1-DeepSeekR1-Qwen2.5-Coder-32B-Preview is capable of utilizing both long and short reasoning processes and demonstrates relatively strong performance in long reasoning tasks. Long-Long Reasoning Merging We conduct experiments on these folloing long-cot LLMs. deepseek-ai/DeepSeek-R1-Distill-Qwen-32B Qwen/QwQ-32B-Preview NovaSky-AI/Sky-T1-32B-Preview To reproduce the merged FuseAI/FuseO1-DeepSeekR1-QwQ-SkyT1-32B-Preview model, using the script below. cd FuseAI/FuseO1-Preview/mergekit pip3 install -e . model_save_dir=xx # your path to save the merged models mergekit-yaml fuseo1_configs/FuseO1-DeepSeekR1-QwQ-SkyT1-32B-Preview.yaml ${model_save_dir}/FuseO1-DeepSeekR1-QwQ-SkyT1-32B-Preview --cudas To reproduce the merged FuseAI/FuseO1-DeepSeekR1-QwQ-32B-Preview model, using the script below. cd FuseAI/FuseO1-Preview/mergekit pip3 install -e . model_save_dir=xxx # your path to save the merged models mergekit-yaml fuseo1_configs/FuseO1-DeepSeekR1-QwQ-32B-Preview.yaml ${model_save_dir}/FuseO1-DeepSeekR1-QwQ-32B-Preview --cuda We provide the example code to use FuseAI/FuseO1-DeepSeekR1-QwQ-SkyT1-32B-Preview. from vllm import LLM, SamplingParams llm = LLM(model="FuseAI/FuseO1-DeepSeekR1-QwQ-SkyT1-32B-Preview", tensor_parallel_size=8) sampling_params = SamplingParams(max_tokens=32768, temperature=0.7, stop=["<|im_end|>", "<|end▁of▁sentence|>"], stop_token_ids=[151645, 151643]) conversations = [ [ {"role": "system", "content": "Please reason step by step, and put your final answer within \\boxed{{}}."}, {"role": "user", "content": "Quadratic polynomials $P(x)$ and $Q(x)$ have leading coefficients $2$ and $-2,$ respectively. The graphs of both polynomials pass through the two points $(16,54)$ and $(20,53).$ Find $P(0) + Q(0).$."}, ], ] responses = llm.chat(messages=conversations, sampling_params=sampling_params, use_tqdm=True) for response in responses: print(response.outputs[0].text.strip()) Long-Short Reasoning Merging We conduct experiments on these folloing long-cot and short-cot LLMs. deepseek-ai/DeepSeek-R1-Distill-Qwen-32B Qwen/Qwen2.5-32B-Instruct Qwen/Qwen2.5-32B-Coder To reproduce the merged FuseAI/FuseO1-DeepSeekR1-QwQ-SkyT1-Flash-32B-Preview model, using the script below. cd FuseAI/FuseO1-Preview/mergekit pip3 install -e . model_save_dir=xxx # your path to save the merged models mergekit-yaml fuseo1_configs/FuseO1-DeepSeekR1-QwQ-SkyT1-Flash-32B-Preview.yaml ${model_save_dir}/FuseO1-DeepSeekR1-QwQ-SkyT1-Flash-32B-Preview --cuda To reproduce the merged FuseAI/FuseO1-DeepSeekR1-Qwen2.5-Instruct-32B-Preview model, using the script below. cd FuseAI/FuseO1-Preview/mergekit pip3 install -e . model_save_dir=xxx # your path to save the merged models mergekit-yaml fuseo1_configs/FuseO1-DeepSeekR1-Qwen2.5-Instruct-32B-Preview.yaml ${model_save_dir}/FuseO1-DeepSeekR1-Qwen2.5-Instruct-32B-Preview --cuda To reproduce the merged FuseAI/FuseO1-DeepSeekR1-Qwen2.5-Coder-32B-Preview model, using the script below. cd FuseAI/FuseO1-Preview/mergekit pip3 install -e . model_save_dir=xxx # your path to save the merged models mergekit-yaml fuseo1_configs/FuseO1-DeepSeekR1-Qwen2.5-Coder-32B-Preview.yaml ${model_save_dir}/FuseO1-DeepSeekR1-Qwen2.5-Coder-32B-Preview --cuda We provide the code to use FuseAI/FuseO1-DeepSeekR1-Qwen2.5-Instruct-32B-Preview. from vllm import LLM, SamplingParams llm = LLM(model="FuseAI/FuseO1-DeepSeekR1-Qwen2.5-Instruct-32B-Preview", tensor_parallel_size=8) sampling_params = SamplingParams(max_tokens=32768, temperature=0.7, stop=["<|im_end|>", "<|end▁of▁sentence|>"], stop_token_ids=[151645, 151643]) conversations = [ [ {"role": "system", "content": "Please reason step by step, and put your final answer within \\boxed{{}}."}, {"role": "user", "content": "Quadratic polynomials $P(x)$ and $Q(x)$ have leading coefficients $2$ and $-2,$ respectively. The graphs of both polynomials pass through the two points $(16,54)$ and $(20,53).$ Find $P(0) + Q(0).$."}, ], ] responses = llm.chat(messages=conversations, sampling_params=sampling_params, use_tqdm=True) for response in responses: print(response.outputs[0].text.strip()) --- ## Use with llama.cpp Install llama.cpp through brew (works on Mac and Linux) ```bash brew install llama.cpp ``` Invoke the llama.cpp server or the CLI. ### CLI: ```bash llama-cli --hf-repo Triangle104/FuseO1-DeepSeekR1-QwQ-SkyT1-32B-Preview-Q5_K_M-GGUF --hf-file fuseo1-deepseekr1-qwq-skyt1-32b-preview-q5_k_m.gguf -p "The meaning to life and the universe is" ``` ### Server: ```bash llama-server --hf-repo Triangle104/FuseO1-DeepSeekR1-QwQ-SkyT1-32B-Preview-Q5_K_M-GGUF --hf-file fuseo1-deepseekr1-qwq-skyt1-32b-preview-q5_k_m.gguf -c 2048 ``` Note: You can also use this checkpoint directly through the [usage steps](https://github.com/ggerganov/llama.cpp?tab=readme-ov-file#usage) listed in the Llama.cpp repo as well. Step 1: Clone llama.cpp from GitHub. ``` git clone https://github.com/ggerganov/llama.cpp ``` Step 2: Move into the llama.cpp folder and build it with `LLAMA_CURL=1` flag along with other hardware-specific flags (for ex: LLAMA_CUDA=1 for Nvidia GPUs on Linux). ``` cd llama.cpp && LLAMA_CURL=1 make ``` Step 3: Run inference through the main binary. ``` ./llama-cli --hf-repo Triangle104/FuseO1-DeepSeekR1-QwQ-SkyT1-32B-Preview-Q5_K_M-GGUF --hf-file fuseo1-deepseekr1-qwq-skyt1-32b-preview-q5_k_m.gguf -p "The meaning to life and the universe is" ``` or ``` ./llama-server --hf-repo Triangle104/FuseO1-DeepSeekR1-QwQ-SkyT1-32B-Preview-Q5_K_M-GGUF --hf-file fuseo1-deepseekr1-qwq-skyt1-32b-preview-q5_k_m.gguf -c 2048 ```