Spec Coder V1

Spec Coder is a cutting-edge, open-source AI model designed to assist with fundamental coding tasks. It is built on the Llama architecture, allowing seamless access via tools like llama.cpp and Ollama. This makes Spec Coder highly compatible with a variety of systems, enabling flexible deployment both locally and in the cloud.

Trained on vast datasets, Spec Coder excels in generating code, completing code snippets, and understanding programming tasks across multiple languages. It can be used for code completion, debugging, and automated code generation, acting as a versatile assistant for developers.

Spec Coder is optimized for integration into developer tools, providing intelligent coding assistance and facilitating research in programming languages. Its advanced transformer-based architecture, with 4 billion parameters, allows it to perform tasks across different environments efficiently.

The model supports various downstream tasks including supervised fine-tuning (SFT) and reinforcement learning (RL) to improve its performance for specific programming tasks.

Training Data

  • Total Training Tokens: ~4.3 trillion tokens
  • Corpus: The Stack, StarCoder Training Dataset, The Stack v2, CommitPack, OpenCodeReasoning, English Wikipedia

Training Details

  • Context Window: 8,192 tokens
  • Optimization: Standard language modeling objective
  • Hardware: Cluster of 5 x RTX 4090 GPUs
  • Training Duration: ~140 days (approximately 6 months)

Benchmarks

RepoBench 1.1 (Python)

Model 2k 4k 8k 12k 16k Avg Avg ≤ 8k
Spec-Coder-4b-V1 30.42% 38.55% 36.91% 32.75% 30.34% 34.59% 36.23%

Syntax-Aware Fill-in-the-Middle (SAFIM)

Model Algorithmic Control API Average
Spec-Coder-4b-V1 38.22% 41.18% 60.45% 46.28%

HumanEval Infilling

Model Single-Line Multi-Line Random Span
Spec-Coder-4b-V1 72.34% 45.65% 39.12%

Limitations

  • Biases: The model may reflect biases present in the public codebases.
  • Security: Code generated by the model may contain security vulnerabilities. It is essential to verify and audit the code generated by the model for any potential risks.

Sample Usage

Here are examples of how to run and interact with Spec Coder:

from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "SVECTOR-CORPORATION/Spec-Coder-4b-V1"
model = AutoModelForCausalLM.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)

input_code = "def factorial(n):\n    if n == 0:"

inputs = tokenizer(input_code, return_tensors="pt")

outputs = model.generate(inputs['input_ids'], max_length=50, num_return_sequences=1)

generated_code = tokenizer.decode(outputs[0], skip_special_tokens=True)

print("Generated Python code:\n", generated_code)
Downloads last month
10,130
Safetensors
Model size
4.02B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 1 Ask for provider support

Datasets used to train SVECTOR-CORPORATION/Spec-Coder-4b-V1