Instructions to use SupraLabs/Supra2-100M-Base with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use SupraLabs/Supra2-100M-Base with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="SupraLabs/Supra2-100M-Base") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("SupraLabs/Supra2-100M-Base") model = AutoModelForCausalLM.from_pretrained("SupraLabs/Supra2-100M-Base", device_map="auto") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use SupraLabs/Supra2-100M-Base with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "SupraLabs/Supra2-100M-Base" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "SupraLabs/Supra2-100M-Base", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/SupraLabs/Supra2-100M-Base
- SGLang
How to use SupraLabs/Supra2-100M-Base with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "SupraLabs/Supra2-100M-Base" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "SupraLabs/Supra2-100M-Base", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "SupraLabs/Supra2-100M-Base" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "SupraLabs/Supra2-100M-Base", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use SupraLabs/Supra2-100M-Base with Docker Model Runner:
docker model run hf.co/SupraLabs/Supra2-100M-Base
question
BTW congratulations on your new model, It's a neat little toy model for sure.
My question is did you do any data preprocessing on the web data since fineweb edu 350BT and HuggingFaceFW/dclm_100BT are quite noisy?
I also have a second question, are you guys planning on using large scale Task-Specific Distillation?
No we didn't actually
BTW congratulations on your new model, It's a neat little toy model for sure.
My question is did you do any data preprocessing on the web data since fineweb edu 350BT and HuggingFaceFW/dclm_100BT are quite noisy?
I also have a second question, are you guys planning on using large scale Task-Specific Distillation?
What are these questions? DCLM and FIneWeb Edu have already been heavily processed; theres no point of processing them more. In fact, they're both model-classified.
Second, task-specific distillation? Why? Whats the point? If you want it to do another task, just fine-tune it. It'll take two seconds.
Also, "a neat little toy"? Its not that neat. SmolLM2, GPTX2.5, MobileLM are all much stronger alternatives. I'm not saying its a waste, but imo it isn't the model I'd use. Furthermore, making text models is completely saturated; and yes that applies to every text model I've made.
First off yes I'm aware its better than webscrapes but I personally have gone through both with scripts and it (atleast the 10bt and 100bt of fineweb and dclm) both have syntax, duplicated text, and other noise so personally I clean them nothing bad just asking.
I'm meaning math, step-by-step instructions, multi turn conversation awareness, ect. Just curious since I personally find it to be very effective.
Its still neat to look at from an enthusiast standpoint. So therefore neat little toy model from what I'm seeing.
First off yes I'm aware its better than webscrapes but I personally have gone through both with scripts and it (atleast the 10bt and 100bt of fineweb and dclm) both have syntax, duplicated text, and other noise so personally I clean them nothing bad just asking.
I'm meaning math, step-by-step instructions, multi turn conversation awareness, ect. Just curious since I personally find it to be very effective.
Its still neat to look at from an enthusiast standpoint. So therefore neat little toy model from what I'm seeing.
Math? FineMath and UltraDataMath.
Step-by-Step instructions? Cosmopedia, Cosmopedia-v2, Tiny-Strange-Textbooks.
Yeah its nice that you clean it but in my opinion, its just a waste of time.
I think that if you give an ablation table comparing DCLM vs your cleaned DCLM, then maybe.
Anyway, its nice to know people have different ways of doing things.
I tries those but it wasnt as effective as directly distilling not to say they are at all bad.
I actually ran into some issues training on them uncleaned more so fineweb. But tbh I don't need to clean it but the data budget I was attempting to work on had 0 room for unwanted noise, but I get your point.
I tries those but it wasnt as effective as directly distilling not to say they are at all bad.
I actually ran into some issues training on them uncleaned more so fineweb. But tbh I don't need to clean it but the data budget I was attempting to work on had 0 room for unwanted noise, but I get your point.
Ohhh. That changed things considerably.
yeah fineweb is really noisy but its edu variant is much better.
The issue with synthetic data isn't really the quality or lack of information, people train models on far worse.
What the issue really seems to be from my perspective is that prompting them is difficult. It's why adding 10% web data massively boosts benchmarks, it acts as a budget "SFT" where the few-shot prompting starts working.