/ Модель

Характеристики

Контекст
16 384 токена
Параметры
4,2 млрд
Размер весов
6,1 ГБ
Лицензия
MIT
Архитектура
starcoder2 · dense
Базовая модель
starcoder2-3b
Библиотека
transformers
Опубликована
1 окт 2025

starcoder2-stm32

Генерация текстаТекст → текст3 профессии

Дообученная версия StarCoder2-3B для генерации встроенного C-кода на основе STM32 HAL.

77скачиваний за 30 дней2лайкавеса обновлены1 окт 2025

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Текст» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Murat Komurcu дообучил StarCoder2-3B для генерации кода на C с использованием STM32 HAL. Модель предназначена для разработки встроенного ПО для микроконтроллеров STM32 и охватывает примеры работы с GPIO, PWM, прерываниями, UART, ADC, таймерами, I2C, DMA и SPI. Это плотная авторегрессионная модель с 4,2 млрд параметров и контекстом до 16 384 токенов; в README обучение описано как LoRA-дообучение на 29 720 примерах проектов STM32 с GitHub.

Модель генерирует код по текстовому запросу или контексту программы. Карточка заявляет более 95% синтаксической корректности, но не приводит методику проверки; результат следует проверять и тестировать на целевой плате, поскольку корректность конкретной конфигурации оборудования не гарантируется. Лицензия — MIT.

Сценарии применения

  • генерация кода GPIO для микроконтроллеров STM32
  • создание обработчиков UART, SPI и I2C
  • написание кода для ADC, таймеров и PWM
  • подготовка обработчиков прерываний и DMA
  • дополнение и адаптация фрагментов STM32 HAL

Ограничения

Карточка заявляет более 95% синтаксической корректности, но не описывает методику оценки; сгенерированный код требует проверки и тестирования на целевом оборудовании.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

StarCoder2-STM32: Fine-tuned for STM32 HAL Code Generation

Model Description

This model is a fine-tuned version of bigcode/starcoder2-3b specifically optimized for STM32 HAL (Hardware Abstraction Layer) code generation. It generates production-ready embedded C code for STM32 microcontrollers.

Key Features:

  • 3 billion parameters (0.30% trainable with LoRA)
  • Trained on 29,720 real-world STM32 HAL examples
  • Supports 11 peripheral categories
  • Professional code quality with 95%+ syntax correctness

Training Details

Dataset

  • Size: 29,720 examples
  • Categories: GPIO (3,648), PWM (3,177), INTERRUPT (3,073), UART (3,038), ADC (3,034), TIMER (3,005), MULTI_LED (3,000), I2C (2,579), DMA (2,535), SPI (2,527)
  • Source: GitHub STM32 projects

Training Configuration

  • Base Model: bigcode/starcoder2-3b
  • Method: LoRA (r=16, lora_alpha=32)
  • Epochs: 3
  • Batch Size: 16 (4 per device × 4 gradient accumulation)
  • Learning Rate: 2e-4 (cosine scheduler)
  • Training Duration: 10 hours 18 minutes
  • Hardware: NVIDIA T4 GPU

Results

  • Final Training Loss: 0.018
  • Final Validation Loss: 0.018
  • Improvement: Base model cannot generate STM32 code, fine-tuned model achieves 95%+ correctness

Usage

from transformers import AutoTokenizer, AutoModelForCausalLM

# Load model
model_name = "MuratKomurcu/starcoder2-stm32"
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(model_name, trust_remote_code=True)

# Generate STM32 code
prompt = """Below is an instruction that describes a task, paired with an input that provides further context. Write a response that appropriately completes the request.

### Instruction:
Create GPIO LED control code

### Input:
Write STM32 HAL code for LED on GPIOA PIN 5

### Response:
"""

inputs = tokenizer(prompt, return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=512, temperature=0.2, top_p=0.95)
code = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(code.split("### Response:")[-1].strip())


Example Output: include stm32f4xx_hal.h. void LED_Init(void) with GPIO_InitTypeDef GPIO_InitStruct, HAL_RCC_GPIOA_CLK_ENABLE, GPIO_InitStruct.Pin = GPIO_PIN_5, Mode = GPIO_MODE_OUTPUT_PP, Pull = GPIO_NOPULL, Speed = GPIO_SPEED_FREQ_LOW, HAL_GPIO_Init(GPIOA, &GPIO_InitStruct). void LED_On(void) calls HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET). void LED_Off(void) calls HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_RESET).

## Supported Peripherals

GPIO for Digital I/O and LED control, UART for Serial communication, ADC for Analog-to-digital conversion, Timer/PWM for Timing and pulse width modulation, I2C for Inter-integrated circuit protocol, SPI for Serial peripheral interface, DMA for Direct memory access, Interrupts for External interrupt handling.

## Limitations

Generated code should be reviewed before production deployment. Clock configurations may need adjustment for specific boards. Advanced DMA configurations require verification. Primarily tested with STM32F4xx family.

## License

This model is released under the BigCode OpenRAIL-M v1 license.

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers

Можно запустить

Подбираем GPU…

Класс архитектуры
Starcoder2ForCausalLM
Ревизия весов
addc294

0 моделей