Qwen2.5-Microsoft-NextCoder-Brainstorm20x-12B

This repo contains the full precision source code, in "safe tensors" format to generate GGUFs, GPTQ, EXL2, AWQ, HQQ and other formats. The source code can also be used directly.

This model contains Brainstorm 20x, combined with Microsoft's 7B Coder (instruct model):

https://huggingface.co/microsoft/NextCoder-7B

Information on the 7B Microsoft NextCoder model below, followed by Brainstorm 20x adapter (by DavidAU) and then a complete help section for running LLM / AI models.

The Brainstorm adapter improves code generation, and unique code solving abilities.

This model requires:

  • Jinja (embedded) or CHATML template
  • Max context of 32k as per Microsoft specs.

Settings used for testing (suggested):

  • Temp .3 to .7
  • Rep pen 1.05 to 1.1
  • Topp .8 , minp .05
  • Topk 20
  • No system prompt.

This model will respond well to both detailed instructions and step by step refinement and additions to code.

As this is an instruct model, it will also benefit from a detailed system prompt too.

For simpler coding problems, lower quants will work well; but for complex/multi-step problem solving suggest Q6 or Q8.


NextCoder-7B

GitHub   |    Paper

NextCoder: Robust Adaptation of Code LMs to Diverse Code Edits (ICML'2025)

Introduction

NextCoder is the latest series of Code-Editing large language models developed using the Qwen2.5-Coder Instruct variants as base and trained with novel Selective Knowledge Transfer finetuning methodology as introduced in the paper. NextCoder family model comes in 3 different sizes 7, 14, 32 billion parameters, to meet the needs of different developers. Following are the key improvements:

  • Significantly improvements in code editing, NextCoder-32B has performing on par with GPT-4o on complex benchmarks like Aider-Polyglot with performance increment of 44% from their base model.
  • No loss of generalizibility, due to our new finetuning method SeleKT
  • Long-context Support up to 32K tokens.

This repo contains the NextCoder-7B model, which has the following features:

  • Type: Causal Language Models
  • Training Stage: Post-training with SeleKT
  • Architecture: transformers with RoPE, SwiGLU, RMSNorm, and Attention QKV bias
  • Number of Parameters: 7.61B
  • Number of Paramaters (Non-Embedding): 6.53B
  • Number of Layers: 28
  • Number of Attention Heads (GQA): 28 for Q and 4 for KV

For more details, please refer to our blog, GitHub, Paper.

Requirements

The code of NextCoder is based on Qwen2.5 base models which has been in the latest Hugging face transformers and we advise you to use the latest version of transformers.

With transformers<4.37.0, you will encounter the following error:

KeyError: 'qwen2'

Quickstart

Here provides a code snippet with apply_chat_template to show you how to load the tokenizer and model and how to generate contents.

from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "microsoft/NextCoder-7B"

model = AutoModelForCausalLM.from_pretrained(
    model_name,
    torch_dtype="auto",
    device_map="auto",
)
tokenizer = AutoTokenizer.from_pretrained(model_name)

prompt = """
Fix the following function that divides two numbers to handle all the edge cases:

def divide(a, b)
  returm a/b
"""
messages = [
    {"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)

generated_ids = model.generate(
    **model_inputs,
    max_new_tokens=1024
)
generated_ids = [
    output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]

response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]

Evaluation and Performance

Models HUMANEVALFIX CANITEDIT AIDER POLYGLOT
QwenCoder-2.5-3B 73.2 37.1 36.8 -
QwenCoder-2.5-3B-LoRA 64.6 36.2 35.8 -
QwenCoder-2.5-3B-SFT 76.2 32.4 30.1 -
NextCoder-3B 75.6 42.4 37.6 -
QwenCoder-2.5-7B 73.8 48.1 59.4 -
QwenCoder-2.5-7B-LoRA 70.7 44.3 40.6 -
QwenCoder-2.5-7B-SFT 70.1 36.7 48.9 -
NextCoder-7B 81.1 50.5 65.7 -
QwenCoder-2.5-14B 87.8 58.1 66.9 9.3
QwenCoder-2.5-14B-LoRA 78.0 50.9 66.2 5.3
QwenCoder-2.5-14B-SFT 79.9 42.4 36.8 3.1
NextCoder-14B 89.8 60.2 72.2 12.2
QwenCoder-2.5-32B 90.2 61.0 72.9 16.4
QwenCoder-2.5-32B-LoRA 82.3 52.4 60.2 6.7
QwenCoder-2.5-32B-SFT 81.7 49.5 66.9 8.4
NextCoder-32B 88.9 62.4 74.7 23.6

Comparison of base QwenCoder-2.5 models of different sizes and their SELEKT-enhanced versions across three code editing benchmarks.

Detailed evaluation results are reported in this 📑 paper.

See more here:

https://huggingface.co/microsoft/NextCoder-7B


What is Brainstorm?


Brainstorm 20x

The BRAINSTORM process was developed by David_AU.

Some of the core principals behind this process are discussed in this scientific paper : Progressive LLaMA with Block Expansion .

However I went in a completely different direction from what was outlined in this paper.

What is "Brainstorm" ?

The reasoning center of an LLM is taken apart, reassembled, and expanded.

In this case for this model: 20 times

Then these centers are individually calibrated. These "centers" also interact with each other. This introduces subtle changes into the reasoning process. The calibrations further adjust - dial up or down - these "changes" further. The number of centers (5x,10x etc) allow more "tuning points" to further customize how the model reasons so to speak.

The core aim of this process is to increase the model's detail, concept and connection to the "world", general concept connections, prose quality and prose length without affecting instruction following.

This will also enhance any creative use case(s) of any kind, including "brainstorming", creative art form(s) and like case uses.

Here are some of the enhancements this process brings to the model's performance:

  • Prose generation seems more focused on the moment to moment.
  • Sometimes there will be "preamble" and/or foreshadowing present.
  • Fewer or no "cliches"
  • Better overall prose and/or more complex / nuanced prose.
  • A greater sense of nuance on all levels.
  • Coherence is stronger.
  • Description is more detailed, and connected closer to the content.
  • Simile and Metaphors are stronger and better connected to the prose, story, and character.
  • Sense of "there" / in the moment is enhanced.
  • Details are more vivid, and there are more of them.
  • Prose generation length can be long to extreme.
  • Emotional engagement is stronger.
  • The model will take FEWER liberties vs a normal model: It will follow directives more closely but will "guess" less.
  • The MORE instructions and/or details you provide the more strongly the model will respond.
  • Depending on the model "voice" may be more "human" vs original model's "voice".

Other "lab" observations:

  • This process does not, in my opinion, make the model 5x or 10x "smarter" - if only that was true!
  • However, a change in "IQ" was not an issue / a priority, and was not tested or calibrated for so to speak.
  • From lab testing it seems to ponder, and consider more carefully roughly speaking.
  • You could say this process sharpens the model's focus on it's task(s) at a deeper level.

The process to modify the model occurs at the root level - source files level. The model can quanted as a GGUF, EXL2, AWQ etc etc.


For more information / other Qwen/Mistral Coders / additional settings see:

[ https://huggingface.co/DavidAU/Qwen2.5-MOE-2x-4x-6x-8x__7B__Power-CODER__19B-30B-42B-53B-gguf ]


Help, Adjustments, Samplers, Parameters and More


CHANGE THE NUMBER OF ACTIVE EXPERTS:

See this document:

https://huggingface.co/DavidAU/How-To-Set-and-Manage-MOE-Mix-of-Experts-Model-Activation-of-Experts

Settings: CHAT / ROLEPLAY and/or SMOOTHER operation of this model:

In "KoboldCpp" or "oobabooga/text-generation-webui" or "Silly Tavern" ;

Set the "Smoothing_factor" to 1.5

: in KoboldCpp -> Settings->Samplers->Advanced-> "Smooth_F"

: in text-generation-webui -> parameters -> lower right.

: In Silly Tavern this is called: "Smoothing"

NOTE: For "text-generation-webui"

-> if using GGUFs you need to use "llama_HF" (which involves downloading some config files from the SOURCE version of this model)

Source versions (and config files) of my models are here:

https://huggingface.co/collections/DavidAU/d-au-source-files-for-gguf-exl2-awq-gptq-hqq-etc-etc-66b55cb8ba25f914cbf210be

OTHER OPTIONS:

  • Increase rep pen to 1.1 to 1.15 (you don't need to do this if you use "smoothing_factor")

  • If the interface/program you are using to run AI MODELS supports "Quadratic Sampling" ("smoothing") just make the adjustment as noted.

Highest Quality Settings / Optimal Operation Guide / Parameters and Samplers

This a "Class 1" model:

For all settings used for this model (including specifics for its "class"), including example generation(s) and for advanced settings guide (which many times addresses any model issue(s)), including methods to improve model performance for all use case(s) as well as chat, roleplay and other use case(s) please see:

[ https://huggingface.co/DavidAU/Maximizing-Model-Performance-All-Quants-Types-And-Full-Precision-by-Samplers_Parameters ]

You can see all parameters used for generation, in addition to advanced parameters and samplers to get the most out of this model here:

[ https://huggingface.co/DavidAU/Maximizing-Model-Performance-All-Quants-Types-And-Full-Precision-by-Samplers_Parameters ]

Downloads last month
23
Safetensors
Model size
12B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for DavidAU/Qwen2.5-Microsoft-NextCoder-Brainstorm20x-12B

Base model

Qwen/Qwen2.5-7B
Finetuned
(3)
this model
Finetunes
2 models
Quantizations
9 models

Datasets used to train DavidAU/Qwen2.5-Microsoft-NextCoder-Brainstorm20x-12B

Collections including DavidAU/Qwen2.5-Microsoft-NextCoder-Brainstorm20x-12B