Text Generation
Transformers
Safetensors
GGUF
Korean
English
llama
3b
korean
from-scratch
orpo
instruction-tuned
preference-aligned
fp8
b200
Eval Results (legacy)
text-generation-inference
Instructions to use pathcosmos/frankenstallm with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use pathcosmos/frankenstallm with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="pathcosmos/frankenstallm")# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("pathcosmos/frankenstallm") model = AutoModelForCausalLM.from_pretrained("pathcosmos/frankenstallm") - llama-cpp-python
How to use pathcosmos/frankenstallm with llama-cpp-python:
# !pip install llama-cpp-python from llama_cpp import Llama llm = Llama.from_pretrained( repo_id="pathcosmos/frankenstallm", filename="gguf/frankenstallm-3b-Q4_K_M.gguf", )
output = llm( "Once upon a time,", max_tokens=512, echo=True ) print(output)
- Notebooks
- Google Colab
- Kaggle
- Local Apps
- llama.cpp
How to use pathcosmos/frankenstallm with llama.cpp:
Install from brew
brew install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama-server -hf pathcosmos/frankenstallm:Q4_K_M # Run inference directly in the terminal: llama-cli -hf pathcosmos/frankenstallm:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama-server -hf pathcosmos/frankenstallm:Q4_K_M # Run inference directly in the terminal: llama-cli -hf pathcosmos/frankenstallm:Q4_K_M
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf pathcosmos/frankenstallm:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf pathcosmos/frankenstallm:Q4_K_M
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf pathcosmos/frankenstallm:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf pathcosmos/frankenstallm:Q4_K_M
Use Docker
docker model run hf.co/pathcosmos/frankenstallm:Q4_K_M
- LM Studio
- Jan
- vLLM
How to use pathcosmos/frankenstallm with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "pathcosmos/frankenstallm" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "pathcosmos/frankenstallm", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/pathcosmos/frankenstallm:Q4_K_M
- SGLang
How to use pathcosmos/frankenstallm 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 "pathcosmos/frankenstallm" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "pathcosmos/frankenstallm", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'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 "pathcosmos/frankenstallm" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "pathcosmos/frankenstallm", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Ollama
How to use pathcosmos/frankenstallm with Ollama:
ollama run hf.co/pathcosmos/frankenstallm:Q4_K_M
- Unsloth Studio new
How to use pathcosmos/frankenstallm with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for pathcosmos/frankenstallm to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for pathcosmos/frankenstallm to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for pathcosmos/frankenstallm to start chatting
- Docker Model Runner
How to use pathcosmos/frankenstallm with Docker Model Runner:
docker model run hf.co/pathcosmos/frankenstallm:Q4_K_M
- Lemonade
How to use pathcosmos/frankenstallm with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull pathcosmos/frankenstallm:Q4_K_M
Run and chat with the model
lemonade run user.frankenstallm-Q4_K_M
List all available models
lemonade list
| # data/tokenize_cc100.sh | |
| # CC-100 Korean ํ ํฌ๋์ด์ง ๋ฐ ๊ธฐ์กด korean_train.bin ๊ณผ์ ๋ณํฉ ์คํฌ๋ฆฝํธ | |
| # | |
| # ๋ฒ๊ทธ ์์ ๋ด์ญ (build_korean_dataset.sh ๋๋น): | |
| # - build_korean_dataset.sh Step 6์์ cc100_ko ๋๋ ํ ๋ฆฌ๊ฐ ๋น์ด์์ ๊ฒฝ์ฐ | |
| # prepare.py ์ find_input_files()๊ฐ FileNotFoundError ๋ฅผ ๋ฐ์์ํค๋ ๋ฒ๊ทธ๊ฐ ์์์. | |
| # ๋ณธ ์คํฌ๋ฆฝํธ๋ ์ฌ์ ์ cc100_ko/*.txt ํ์ผ ์กด์ฌ ์ฌ๋ถ๋ฅผ ํ์ธํ๊ณ | |
| # ์์ ๊ฒฝ์ฐ ๋ช ํํ ์๋ด ๋ฉ์์ง์ ํจ๊ป ์ข ๋ฃํ๋ค. | |
| # | |
| # ์ ์ ์กฐ๊ฑด: | |
| # 1. tokenizer/korean_sp/tokenizer.json โ SP ํ ํฌ๋์ด์ ๊ฐ ์ด๋ฏธ ํ์ต/๋ณํ ์๋ฃ | |
| # 2. data/raw/cc100_ko/*.txt โ CC-100 ๋ค์ด๋ก๋ ์๋ฃ | |
| # (์์ผ๋ฉด: bash data/download_cc100.sh ๋จผ์ ์คํ) | |
| # 3. data/korean_train.bin โ ๊ธฐ์กด ๋ณํฉ ํ์ต ๋ฐ์ดํฐ (๋ณํฉ ๋์) | |
| # (์์ด๋ ํ ํฌ๋์ด์ง์ ์งํ๋๋ฉฐ, ๋ณํฉ ๋จ๊ณ๋ง ๊ฑด๋๋) | |
| # | |
| # ์คํ ๋ฐฉ๋ฒ (ํ๋ก์ ํธ ๋ฃจํธ์์): | |
| # bash data/tokenize_cc100.sh | |
| # | |
| # ์ถ๋ ฅ: | |
| # data/korean_cc100_train.bin โ CC-100 ํ์ต ํ ํฐ | |
| # data/korean_cc100_val.bin โ CC-100 ๊ฒ์ฆ ํ ํฐ | |
| # data/korean_train_combined.bin โ ๊ธฐ์กด korean_train.bin + CC-100 ๋ณํฉ๋ณธ | |
| # (korean_train.bin ์ด ์กด์ฌํ๋ ๊ฒฝ์ฐ์๋ง ์์ฑ) | |
| set -euo pipefail | |
| # โโโ ๊ฒฝ๋ก ์ค์ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | |
| SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" | |
| PROJECT_ROOT="$(dirname "$SCRIPT_DIR")" | |
| cd "$PROJECT_ROOT" | |
| RAW_DIR="data/raw" | |
| BIN_DIR="data" | |
| TOKENIZER_JSON="tokenizer/korean_sp/tokenizer.json" | |
| CC100_DIR="$RAW_DIR/cc100_ko" | |
| # โโโ ์ถ๋ ฅ ํ์ผ ๊ฒฝ๋ก โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | |
| CC100_TRAIN_BIN="$BIN_DIR/korean_cc100_train.bin" | |
| CC100_VAL_BIN="$BIN_DIR/korean_cc100_val.bin" | |
| EXISTING_TRAIN_BIN="$BIN_DIR/korean_train.bin" | |
| COMBINED_TRAIN_BIN="$BIN_DIR/korean_train_combined.bin" | |
| # โโโ ์ฌ์ ๊ฒ์ฌ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | |
| echo "=== CC-100 ํ ํฌ๋์ด์ง ๋ฐ ๋ณํฉ ===" | |
| echo "ํ๋ก์ ํธ ๋ฃจํธ: $PROJECT_ROOT" | |
| echo "" | |
| # ๊ฒ์ฌ 1: ํ ํฌ๋์ด์ ํ์ผ ์กด์ฌ ์ฌ๋ถ | |
| if [ ! -f "$TOKENIZER_JSON" ]; then | |
| echo "ERROR: ํ ํฌ๋์ด์ ํ์ผ์ ์ฐพ์ ์ ์์ต๋๋ค: $TOKENIZER_JSON" >&2 | |
| echo "" | |
| echo "ํด๊ฒฐ ๋ฐฉ๋ฒ: ํ ํฌ๋์ด์ ๋ฅผ ๋จผ์ ํ์ตํ๊ณ ๋ณํํ์ธ์." | |
| echo " python tokenizer/train_sp_tokenizer.py --input <ํ ์คํธํ์ผ> --output_dir tokenizer/korean_sp" | |
| echo " python tokenizer/convert_sp_to_hf.py --model tokenizer/korean_sp/tokenizer.model --output $TOKENIZER_JSON" | |
| exit 1 | |
| fi | |
| echo "[OK] ํ ํฌ๋์ด์ : $TOKENIZER_JSON" | |
| # ๊ฒ์ฌ 2: CC-100 .txt ํ์ผ ์กด์ฌ ์ฌ๋ถ | |
| CC100_FILE_COUNT=$(find "$CC100_DIR" -maxdepth 1 -name "*.txt" 2>/dev/null | wc -l) | |
| if [ "$CC100_FILE_COUNT" -eq 0 ]; then | |
| echo "ERROR: CC-100 ํ ์คํธ ํ์ผ์ด ์์ต๋๋ค: $CC100_DIR/*.txt" >&2 | |
| echo "" | |
| echo "ํด๊ฒฐ ๋ฐฉ๋ฒ: CC-100 ๋จผ์ ๋ค์ด๋ก๋ํ์ธ์." | |
| echo " bash data/download_cc100.sh" | |
| echo "" | |
| echo "์ฃผ์: build_korean_dataset.sh ์ --text_col text ๋ฒ๊ทธ๋ก ๋ค์ด๋ก๋ํ๋ค๋ฉด" | |
| echo " ํด๋น ํ์ผ๋ค์ ๋น ๋ด์ฉ์ด๋ฏ๋ก ์ญ์ ํ ์ฌ๋ค์ด๋ก๋๊ฐ ํ์ํฉ๋๋ค." | |
| echo " rm -f \"$CC100_DIR\"/*.txt && bash data/download_cc100.sh" | |
| exit 1 | |
| fi | |
| echo "[OK] CC-100 ์ค๋ ํ์ผ: ${CC100_FILE_COUNT}๊ฐ ($CC100_DIR)" | |
| # ๊ฒ์ฌ 3: ๊ธฐ์กด korean_train.bin ์กด์ฌ ์ฌ๋ถ ํ์ธ (๊ฒฝ๊ณ ๋ง, ์ค๋จํ์ง ์์) | |
| if [ -f "$EXISTING_TRAIN_BIN" ]; then | |
| EXISTING_SIZE=$(du -sh "$EXISTING_TRAIN_BIN" 2>/dev/null | cut -f1) | |
| echo "[OK] ๊ธฐ์กด ํ์ต ๋ฐ์ดํฐ: $EXISTING_TRAIN_BIN ($EXISTING_SIZE) โ ๋ณํฉ ์์ " | |
| else | |
| echo "[WARN] ๊ธฐ์กด ํ์ต ๋ฐ์ดํฐ ์์: $EXISTING_TRAIN_BIN" | |
| echo " ํ ํฌ๋์ด์ง๋ง ์งํํ๊ณ , ๋ณํฉ ๋จ๊ณ๋ ๊ฑด๋๋๋๋ค." | |
| fi | |
| echo "" | |
| # โโโ Step 1: CC-100 ํ ํฌ๋์ด์ง โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | |
| # prepare.py ๋ --output ๊ฒฝ๋ก์ 'train' ์ 'val' ๋ก ์นํํ์ฌ val .bin ์ ์๋ ์์ฑํจ. | |
| # --val_split 0.002 โ 0.2% ๋ฅผ ๊ฒ์ฆ ์ ์ผ๋ก ๋ถ๋ฆฌ (1,000๋ง ํ ๊ธฐ์ค ์ฝ 3M ํ ํฐ) | |
| echo "[1/2] CC-100 ํ ํฌ๋์ด์ง..." | |
| echo " ์ ๋ ฅ: $CC100_DIR/*.txt (${CC100_FILE_COUNT}๊ฐ ํ์ผ)" | |
| echo " ์ถ๋ ฅ: $CC100_TRAIN_BIN" | |
| echo " ์ถ๋ ฅ: $CC100_VAL_BIN (val_split=0.2%)" | |
| echo "" | |
| python data/prepare.py \ | |
| --input "$CC100_DIR/*.txt" \ | |
| --output "$CC100_TRAIN_BIN" \ | |
| --tokenizer "$TOKENIZER_JSON" \ | |
| --val_split 0.002 \ | |
| --seed 42 | |
| echo "" | |
| echo "[์๋ฃ] ํ ํฌ๋์ด์ง ๊ฒฐ๊ณผ:" | |
| if [ -f "$CC100_TRAIN_BIN" ]; then | |
| echo " $CC100_TRAIN_BIN ($(du -sh "$CC100_TRAIN_BIN" | cut -f1))" | |
| fi | |
| if [ -f "$CC100_VAL_BIN" ]; then | |
| echo " $CC100_VAL_BIN ($(du -sh "$CC100_VAL_BIN" | cut -f1))" | |
| fi | |
| echo "" | |
| # โโโ Step 2: ๊ธฐ์กด korean_train.bin ๊ณผ ๋ณํฉ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | |
| # ๋ณํฉ ๊ฒฐ๊ณผ๋ korean_train_combined.bin ์ผ๋ก ์ ์ฅ. | |
| # ๊ธฐ์กด korean_train.bin ์ ๋ฎ์ด์ฐ์ง ์์ผ๋ฏ๋ก ์์ ํ๊ฒ ๊ฒํ ํ ๊ต์ฒด ๊ฐ๋ฅ. | |
| if [ -f "$EXISTING_TRAIN_BIN" ] && [ -f "$CC100_TRAIN_BIN" ]; then | |
| echo "[2/2] ๊ธฐ์กด ํ์ต ๋ฐ์ดํฐ์ ๋ณํฉ..." | |
| echo " ์ ๋ ฅ1: $EXISTING_TRAIN_BIN" | |
| echo " ์ ๋ ฅ2: $CC100_TRAIN_BIN" | |
| echo " ์ถ๋ ฅ: $COMBINED_TRAIN_BIN" | |
| echo "" | |
| python data/merge_bins.py \ | |
| "$EXISTING_TRAIN_BIN" \ | |
| "$CC100_TRAIN_BIN" \ | |
| "$COMBINED_TRAIN_BIN" | |
| echo "" | |
| echo "[์๋ฃ] ๋ณํฉ ๊ฒฐ๊ณผ:" | |
| echo " $COMBINED_TRAIN_BIN ($(du -sh "$COMBINED_TRAIN_BIN" | cut -f1))" | |
| echo "" | |
| echo "๋ณํฉ ํ์ผ์ ๊ธฐ์กด ํ์ต ๋ฐ์ดํฐ๋ก ๊ต์ฒดํ๋ ค๋ฉด:" | |
| echo " mv \"$EXISTING_TRAIN_BIN\" \"${EXISTING_TRAIN_BIN%.bin}_backup.bin\"" | |
| echo " mv \"$COMBINED_TRAIN_BIN\" \"$EXISTING_TRAIN_BIN\"" | |
| else | |
| echo "[2/2] ๋ณํฉ ๊ฑด๋๋ โ ๊ธฐ์กด korean_train.bin ์์." | |
| echo " CC-100 ํ์ต ๋ฐ์ดํฐ๋ง ๋จ๋ ์ผ๋ก ์์ฑ๋์์ต๋๋ค: $CC100_TRAIN_BIN" | |
| fi | |
| # โโโ ์ต์ข ์์ฝ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | |
| echo "" | |
| echo "=== ์๋ฃ ===" | |
| echo "" | |
| echo "์์ฑ๋ ํ์ผ:" | |
| for f in "$CC100_TRAIN_BIN" "$CC100_VAL_BIN" "$COMBINED_TRAIN_BIN"; do | |
| if [ -f "$f" ]; then | |
| TOKEN_COUNT=$(python3 -c " | |
| import numpy as np, sys | |
| d = np.memmap('$f', dtype='uint16', mode='r') | |
| print(f'{len(d):,}') | |
| " 2>/dev/null || echo "๊ณ์ฐ ๋ถ๊ฐ") | |
| echo " $f โ ${TOKEN_COUNT} ํ ํฐ ($(du -sh "$f" | cut -f1))" | |
| fi | |
| done | |
| echo "" | |
| echo "ํ์ต ์ฌ์์ ์ combined ํ์ผ์ configs/small_fp8_run1.yaml ์" | |
| echo "data_path ์ ์ง์ ํ๊ฑฐ๋, ๊ธฐ์กด korean_train.bin ์ ๊ต์ฒดํ์ธ์." | |