Text Generation
Transformers
Safetensors
English
Chinese
qwen3_5
image-text-to-text
qwen
lora
reinforcement-learning
fp8
agentic-coding
scientific-computing
physics
materials-science
genetics
conversational
Instructions to use HoomanBio2021/LabOpen-v1 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use HoomanBio2021/LabOpen-v1 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="HoomanBio2021/LabOpen-v1") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# pip install -U transformers accelerate # Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("HoomanBio2021/LabOpen-v1") model = AutoModelForMultimodalLM.from_pretrained("HoomanBio2021/LabOpen-v1", device_map="auto") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] inputs = processor.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=256) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use HoomanBio2021/LabOpen-v1 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "HoomanBio2021/LabOpen-v1" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "HoomanBio2021/LabOpen-v1", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/HoomanBio2021/LabOpen-v1
- SGLang
How to use HoomanBio2021/LabOpen-v1 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 "HoomanBio2021/LabOpen-v1" \ --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": "HoomanBio2021/LabOpen-v1", "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 "HoomanBio2021/LabOpen-v1" \ --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": "HoomanBio2021/LabOpen-v1", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use HoomanBio2021/LabOpen-v1 with Docker Model Runner:
docker model run hf.co/HoomanBio2021/LabOpen-v1
Upload README.md with huggingface_hub
Browse files
README.md
CHANGED
|
@@ -124,6 +124,15 @@ Without a tag the model keeps base behavior (code / function calling need no tag
|
|
| 124 |
- **Merge math**: per module `W = codes × scale(blockwise)` dequantized to FP32, LoRA delta `(B·A)·scaling` added, re-quantized per 128×128 block (`scale = amax/448`). Mean re-quantization relative error 0.33% — the same order as the base's own FP8 storage noise. Equivalence probes (greedy, 3 prompts × 48 tokens, adapter vs merged): see `MERGE_REPORT.md`.
|
| 125 |
- **Training substrate**: a local FP8 copy of Qwen3.8-27B (community redistribution). Bit-equivalence with `Qwen/Qwen3.8-27B-FP8` was not verified; the adapter config points to the official release for loading.
|
| 126 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 127 |
## Training methodology (summary)
|
| 128 |
|
| 129 |
15 reinforcement windows (G69–G84) on a frozen FP8 serving stack with exact weight/update contracts: group-relative advantages with k=8 sampling and mechanically verifiable rewards; oracle injection for zero-mastery domains; verified distillation from champion checkpoints; frozen domain tags; substep advantage for multi-step composition; per-window heldout gates and retention protection. Single seed, single run — no capability claim in this card comes from a set seen during training.
|
|
@@ -274,6 +283,15 @@ tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen3.8-27B-FP8")
|
|
| 274 |
- **合并数学**:逐模块 `W = codes × scale`(分块)反量化至 FP32,加入 LoRA 增量 `(B·A)·scaling`,再按 128×128 块重量化(`scale = amax/448`)。平均重量化相对误差 0.33%——与基座自身 FP8 存储噪声同量级。等价探针(greedy,3 提示 × 48 token,适配器 vs 合并):见 `MERGE_REPORT.md`。
|
| 275 |
- **训练基材**:Qwen3.8-27B 的本地 FP8 副本(社区再分发)。未与 `Qwen/Qwen3.8-27B-FP8` 做逐位等价核验;适配器配置指向官方发布以便加载。
|
| 276 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 277 |
## 训练方法(摘要)
|
| 278 |
|
| 279 |
15 个强化窗口(G69–G84),运行于带精确权重/更新契约的冻结 FP8 服务栈:组相对优势 + k=8 采样 + 机械可验证奖励;零起点域的 oracle 注入;冠军检查点的验证蒸馏;冻结域标记;多步组合的子步优势;逐窗 heldout 门与保持保护。单种子单次运行——本卡中的全部能力声明均来自训练未见过的评测集。
|
|
|
|
| 124 |
- **Merge math**: per module `W = codes × scale(blockwise)` dequantized to FP32, LoRA delta `(B·A)·scaling` added, re-quantized per 128×128 block (`scale = amax/448`). Mean re-quantization relative error 0.33% — the same order as the base's own FP8 storage noise. Equivalence probes (greedy, 3 prompts × 48 tokens, adapter vs merged): see `MERGE_REPORT.md`.
|
| 125 |
- **Training substrate**: a local FP8 copy of Qwen3.8-27B (community redistribution). Bit-equivalence with `Qwen/Qwen3.8-27B-FP8` was not verified; the adapter config points to the official release for loading.
|
| 126 |
|
| 127 |
+
## Thinking-behavior governance
|
| 128 |
+
|
| 129 |
+
The base model can exhaust its thinking budget on unfamiliar domain problems, leaving the reasoning segment unclosed — "thinking exhaustion". This was measured, governed, and re-measured rather than assumed away:
|
| 130 |
+
|
| 131 |
+
- **Worst recorded case**: before the materials window (G77), 48% of materials generations truncated with unclosed thinking (155/320 during in-window fuel sampling).
|
| 132 |
+
- **Mechanism**: the reward contract scores termination mechanically — truncation, format errors, and runtime errors are separate reward categories — and oracle injection teaches termination explicitly. Within that single window, truncation fell from 155/320 to 0/320 and per-item generation time dropped from 327 s to 74 s.
|
| 133 |
+
- **Post-governance audit** (four domains, harvest trajectories): unclosed-thinking rate 0% across fluid physics / materials / genetics / ops; degenerate repetition 1/952; median thinking length 180–581 characters (genetics shortest, fluid physics longest).
|
| 134 |
+
- **Boundary**: this audit covers the five-domain deployment protocol; open-ended (non-domain) questions have not had a dedicated thinking-exhaustion probe.
|
| 135 |
+
|
| 136 |
## Training methodology (summary)
|
| 137 |
|
| 138 |
15 reinforcement windows (G69–G84) on a frozen FP8 serving stack with exact weight/update contracts: group-relative advantages with k=8 sampling and mechanically verifiable rewards; oracle injection for zero-mastery domains; verified distillation from champion checkpoints; frozen domain tags; substep advantage for multi-step composition; per-window heldout gates and retention protection. Single seed, single run — no capability claim in this card comes from a set seen during training.
|
|
|
|
| 283 |
- **合并数学**:逐模块 `W = codes × scale`(分块)反量化至 FP32,加入 LoRA 增量 `(B·A)·scaling`,再按 128×128 块重量化(`scale = amax/448`)。平均重量化相对误差 0.33%——与基座自身 FP8 存储噪声同量级。等价探针(greedy,3 提示 × 48 token,适配器 vs 合并):见 `MERGE_REPORT.md`。
|
| 284 |
- **训练基材**:Qwen3.8-27B 的本地 FP8 副本(社区再分发)。未与 `Qwen/Qwen3.8-27B-FP8` 做逐位等价核验;适配器配置指向官方发布以便加载。
|
| 285 |
|
| 286 |
+
## 思考行为治理
|
| 287 |
+
|
| 288 |
+
基座模型在不熟悉的域问题上可能耗尽思考预算、使推理段未闭合即截断——即"思考枯竭"。本模型对该问题做了测量—治理—复测的完整闭环,而非默认其不存在:
|
| 289 |
+
|
| 290 |
+
- **最严重记录**:材料域窗口(G77)之前,材料题生成 48% 出现思考未闭合截断(窗内燃料采样期 155/320)。
|
| 291 |
+
- **机制**:奖励合同对终止行为做机械评分——截断、格式错误、运行异常是相互独立的奖励类别;oracle 注入显式教授终止行为。该窗口内截断从 155/320 降至 0/320,单题生成时长从 327 秒降至 74 秒。
|
| 292 |
+
- **治理后审计**(四域收获轨迹):流体物理 / 材料 / 遗传学 / 运维四域思考未闭合率均为 0%;退化重复 1/952;思考段长度中位数 180–581 字(遗传学最短、流体物理最长)。
|
| 293 |
+
- **边界**:该审计覆盖五域部署口径;开放式(非域)问题尚未做思考枯竭专项探针。
|
| 294 |
+
|
| 295 |
## 训练方法(摘要)
|
| 296 |
|
| 297 |
15 个强化窗口(G69–G84),运行于带精确权重/更新契约的冻结 FP8 服务栈:组相对优势 + k=8 采样 + 机械可验证奖励;零起点域的 oracle 注入;冠军检查点的验证蒸馏;冻结域标记;多步组合的子步优势;逐窗 heldout 门与保持保护。单种子单次运行——本卡中的全部能力声明均来自训练未见过的评测集。
|