/ Модель

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

Контекст
4 096 токенов
Параметры
6,5 млрд
Размер весов
13,8 ГБ
Лицензия
MIT
Архитектура
llama · dense
Базовая модель
deepseek-coder-7b-instruct-v1.5
Опубликована
21 янв 2025

deepseek-coder-7b-instruct-v1.5-fma

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

Дообученная DeepSeek Coder помогает анализировать требования и создавать или дополнять формальные доказательства и модели на Cog, Dafny, Lean4, ACSL и TLA.

26скачиваний за 30 дней5лайковвеса обновлены25 фев 2025

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

fm-universe/deepseek-coder-7b-instruct-v1.5-fma — дообученная модель для задач формальной верификации, созданная на основе deepseek-ai/deepseek-coder-7b-instruct-v1.5. Она генерирует и дополняет формальные доказательства и модели, помогает разбирать требования и переводить код в спецификации для проверки.

Модель обучена для работы с пятью языками формальной спецификации: Cog, Dafny, Lean4, ACSL и TLA. README перечисляет анализ требований, генерацию доказательств и моделей, генерацию фрагментов доказательств, завершение и заполнение пропусков в доказательствах, а также генерацию спецификаций ACSL по коду. Это плотная причинная языковая модель семейства Llama на 6,5 млрд параметров с контекстом 4096 токенов; поддерживает диалоговый интерфейс. Лицензия — MIT.

Модель предназначена для помощи в формализации и верификации, однако результаты генерации следует проверять соответствующими верификаторами или проверщиками моделей. README не сообщает об успешности прохождения проверок или иных гарантиях качества.

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

  • разбор требований на шаги формальной верификации
  • генерация доказательств и моделей для верификатора или проверщика моделей
  • дополнение незавершённых доказательств Lean4 или Dafny
  • заполнение пропусков внутри формального доказательства
  • генерация спецификаций ACSL по проверяемому коду

Ограничения

Для проверки корректности сгенерированных доказательств и моделей необходим соответствующий верификатор или проверщик моделей. Генерация спецификаций по коду заявлена только для ACSL.

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

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

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

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

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

Открыть на Hugging Face

Introduction

We present a fine-tuned model for formal verification tasks. It is fine-tuned in five formal specification languages (Cog, Dafny, Lean4, ACSL, and TLA) on six formal-verification-related tasks:

  • Requirement Analysis: given requirements and description of the verification or modeling goals, decomposing the goal into detailed verification steps

  • Proof/Model Generation: given requirements and description of the verification or modeling goals, writing formal proofs or models that can be verified by verifier/model checker.

  • Proof segment generation

  • Proof Completion: complete the given incomplete proofs or models

  • Proof Infilling: filling in the middle of the given incomplete proofs or models

  • Code 2 Proof: (Currently only support for ACSL whose specification is in form of code annotations) given the code under verification, generate the proof with the specifications

Application Scenario

Supported Formal Specification Languages

Data Preparation Pipeline

Quickstart

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

from transformers import AutoModelForCausalLM, AutoTokenizer

instruct = """
Translate the given requirement using TLA's syntax and semantics.
You only need to return the TLA formal specification without explanation.
"""

input_text = """
An operation `LM_Inner_Rsp(p)` that represents a response process for a given parameter `p`. It satisfies the following conditions:
  - The control state `octl[p]` is equal to `\"done\"`.
  - The `Reply(p, obuf[p], memInt, memInt')` operation is executed.
  - The control state `octl` is updated by setting the `p` index of `octl` to `\"rdy\"`.
  - The variables `omem` and `obuf` remain unchanged.
"""

model_name = "fm-universe/deepseek-coder-7b-instruct-v1.5-fma"

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

messages = [{"role": "user", "content": f"{instruct}\n{input_text}"}]

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=4096)
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]
print(response)

Example of Offline Inference

vLLM supports offline inference.

from vllm import LLM, SamplingParams

instruct = """
Translate the given requirement using TLA's syntax and semantics.
You only need to return the TLA formal specification without explanation.
"""

input_text = """
An operation `LM_Inner_Rsp(p)` that represents a response process for a given parameter `p`. It satisfies the following conditions:
  - The control state `octl[p]` is equal to `\"done\"`.
  - The `Reply(p, obuf[p], memInt, memInt')` operation is executed.
  - The control state `octl` is updated by setting the `p` index of `octl` to `\"rdy\"`.
  - The variables `omem` and `obuf` remain unchanged.
"""

model_name = "fm-universe/deepseek-coder-7b-instruct-v1.5-fma"

# Pass the default decoding hyperparameters
# max_tokens is for the maximum length for generation.
greed_sampling = SamplingParams(temperature=0, max_tokens=4096)

# load the model
llm = LLM(
    model=model_name,
    tensor_parallel_size=1,
    max_model_len=4096,
    enable_chunked_prefill=True,
    # quantization="fp8", # Enabling FP8 quantization for model weights can reduce memory usage.
)

# Prepare chat messages
chat_message = [{"role": "user", "content": f"{instruct}\n{input_text}"}]

# Inference
responses = llm.chat(chat_message, greed_sampling, use_tqdm=True)

print(responses[0].outputs[0].text)

Citation

@misc{fmbench25jialun,
      title={From Informal to Formal--Incorporating and Evaluating LLMs on Natural Language Requirements to Verifiable Formal Proofs}, 
      author={Jialun Cao and Yaojie Lu and Meiziniu Li and Haoyang Ma and Haokun Li and Mengda He and Cheng Wen and Le Sun and Hongyu Zhang and Shengchao Qin and Shing-Chi Cheung and Cong Tian},
      year={2025},
      eprint={2501.16207},
      archivePrefix={arXiv},
      primaryClass={cs.AI},
      url={https://arxiv.org/abs/2501.16207}, 
}

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей