[새 모델] SupraLabs에서 새로운 모델을 출시했습니다! - Supra-50M-Reasoning
[NEW MODEL] SupraLabs just released a new model! - Supra-50M-Reasoning
핵심 요약
SupraLabs가 50M 파라미터 규모의 추론 특화 모델 'Supra-50M-Reasoning'을 공개했습니다.
- 모델 특징 — 50M 파라미터의 추론 특화 모델로 답변 전 사고 과정을 생성함.
- 오픈 소스 — 프로젝트 키메라의 일환으로 데이터셋과 함께 완전히 공개됨.
- 실험적 성격 — 환각 현상이 발생할 수 있는 실험적인 모델임.
- 향후 계획 — 124M 및 350M 규모의 후속 모델 출시 예정.
SupraLabs just released a new model! - Supra-50M-Reasoning
Hello again r/LocalLLaMA! Supra-50M-Reasoning (ThinkSupra-50M) is the reasoning version of Supra-50M-Instruct. It produces a full thinking chain before every answer, fine-tuned from Supra-50M-Base using a custom synthetic dataset of 500 samples generated by Qwen3 1.7B, trained for 6 epochs. It's experimental, it hallucinates, and it's fully open. This is part of the Supra-50M collection under Project Chimera.
Model: 🤗 Supra-50M-Reasoning
Dataset: SupraThink-Dataset-500x
What's coming next?
Supra-124M — Base, Chat, Reasoning
Supra-350M — Base, Chat, Reasoning, Coding
🧠 Answer Structure
Every answer follows this format:
... thinking ... ... final answer ... ⚙️ Training Setup
Parameter Value Base model Supra-50M-Instruct Dataset SupraThink-Dataset-500x (500 samples) Generated by Qwen3 1.7B Epochs 6 Type Supervised Fine-Tuning (SFT) Precision bfloat16 🚀 Inference
import os, warnings os.environ["TF_CPP_MIN_LOG_LEVEL"] = "3" warnings.filterwarnings("ignore", category=UserWarning, module="transformers") import torch from transformers import pipeline, AutoTokenizer, logging logging.set_verbosity_error() MODEL_ID = "SupraLabs/Supra-50M-Reasoning" tokenizer = AutoTokenizer.from_pretrained(MODEL_ID, clean_up_tokenization_spaces=False) pipe = pipeline( "text-generation", model=MODEL_ID, tokenizer=tokenizer, device_map="auto", torch_dtype=torch.bfloat16 if torch.cuda.is_available() else torch.float32 ) def build_prompt(instruction, input_text=""): if input_text.strip(): return ( "Below is an instruction that describes a task, paired with an input " "that provides further context. Write a response that appropriately " "completes the request.\n\n" f"### Instruction:\n{instruction}\n\n" f"### Input:\n{input_text}\n\n### Response:\n" ) return ( "Below is an instruction that describes a task. Write a response that " "appropriately completes the request.\n\n" f"### Instruction:\n{instruction}\n\n### Response:\n" ) def generate(instruction, input_text=""): result = pipe( build_prompt(instruction, input_text), max_new_tokens=512, do_sample=True, temperature=0.3, top_k=50, top_p=0.9, repetition_penalty=1.15, pad_token_id=pipe.tokenizer.pad_token_id, eos_token_id=pipe.tokenizer.eos_token_id, return_full_text=False ) return result[0]['generated_text'].strip() while True: print("\nEnter an instruction (or 'exit' to quit):") user_input = input().strip() if user_input.lower() == "exit": break print("\nEnter additional context (optional, press Enter to skip):") context_input = input().strip() print(f"\nResponse:\n{generate(user_input, context_input)}\n") 💬 Sample Outputs


