--- license: apache-2.0 library_name: transformers base_model: deepseek-ai/DeepSeek-R1-0528-Qwen3-8B pipeline_tag: text-generation model_creator: Orionfold LLC language: - en tags: - transformers - safetensors - bf16 - spark-tested - orionfold - "base_model:deepseek-ai/DeepSeek-R1-0528-Qwen3-8B" - patent - patent-strategist - reasoning - lora-finetune - bakeoff - r1-distill - trained-with-nemo --- # patent-strategist v3 — NeMo Framework lane (BF16 HF) `safetensors` BF16 merged weights of a LoRA fine-tune of `deepseek-ai/DeepSeek-R1-0528-Qwen3-8B` on a 5,000-row synthetic patent-reasoning corpus, trained with **NeMo Framework** on a NVIDIA DGX Spark (GB10, 128 GB unified memory). ## What this model does **Offline patent-prosecution reasoning on Spark-class hardware** Patent prosecution work — claim construction, MPEP-grounded office-action responses, Markush analysis, doctrine-of-equivalents reasoning — happens inside firms that can't ship privileged client text to a hosted frontier API. This release distills DeepSeek-R1's chain-of-thought reasoning onto a 5,000-row synthetic patent-reasoning corpus so a single Spark-class box can run the workflow offline, with full IRAC-shaped reasoning chains. Use cases: - Claim construction (Markush groups, doctrine of equivalents) - MPEP-grounded office-action argument drafting - Prior-art relevance + non-obviousness reasoning chains - Patent-licensing scenario analysis (most-favored-licensee, FTO) **Who this is for:** Patent attorneys, prosecution-team engineers, and IP-strategy teams running privileged workflows offline on Spark-class hardware (GB10, 128 GB unified memory) or comparable edge devices. ## Notebooks Two runnable notebooks ship with this model — open either on a free cloud GPU: | Notebook | What it does | Open | |---|---|---| | **Builder** | Reproduce this model's build and DGX Spark benchmarks end-to-end with `fieldkit`. | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/manavsehgal/ai-field-notes/blob/main/notebooks/patent-strategist/builder.ipynb) [![Open in Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/manavsehgal/ai-field-notes/blob/main/notebooks/patent-strategist/builder.ipynb) | | **User** | Load the published model and call it from your own app in a few lines. | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/manavsehgal/ai-field-notes/blob/main/notebooks/patent-strategist/user.ipynb) [![Open in Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/manavsehgal/ai-field-notes/blob/main/notebooks/patent-strategist/user.ipynb) | ## Choosing this lane **NeMo Framework-trained BF16 merged weights — the bakeoff-winning lane.** Pick this for production-grade inference via Triton / TensorRT-LLM, for continued fine-tuning in NeMo's PEFT recipe stack, or to export to other quantization paths. The bakeoff measured 5h 38m training wall on this lane (-26% vs the Unsloth baseline on the same recipe) at probe think rate 0.80 / mean chain 1,320 tokens (+44% reasoning depth over the Unsloth baseline). For pure inference on Spark-class hardware, the GGUF sibling is faster. **Spark measurements (BF16 merged):** | Variant | Size | Train wall | Probe think rate | Mean chain | |---|---|---|---|---| | BF16 | 15.26 GB | 5h 38m | 0.80 | 1,320 tok | ## How to run HuggingFace Transformers: ```python from transformers import AutoTokenizer, AutoModelForCausalLM import torch model_id = "Orionfold/patent-strategist-v3-nemo" tok = AutoTokenizer.from_pretrained(model_id) model = AutoModelForCausalLM.from_pretrained( model_id, torch_dtype=torch.bfloat16, device_map="auto" ) prompt = ( "<|User|>A patent claim recites \"a fastener selected from the group consisting " "of bolts, screws, and rivets.\" Walk through the Markush-group construction " "and explain how doctrine of equivalents applies to a magnetic snap.<|Assistant|>" ) inputs = tok(prompt, return_tensors="pt").to(model.device) out = model.generate(**inputs, max_new_tokens=1024, temperature=0.6, top_p=0.95) print(tok.decode(out[0][inputs.input_ids.shape[1]:], skip_special_tokens=True)) ``` ## Methods Full methodology and Spark-side measurement protocol: [Two paths to the same chain — Unsloth vs NeMo Framework on Spark](https://ainative.business/field-notes/patent-strategist-bakeoff-unsloth-vs-nemo-framework/). ## Known drift Bounded limitations observed during Spark-side measurement. Each item below names the artifact and the scope of the drift; the balance of the bench measures clean — see [Methods](#methods) for the full breakdown. - **"metes-and-times" terminology** — Two known terminology drifts inherited from the v3 synthetic corpus; balance of probe answers (~99%) cite real MPEP sections. Correct legal term in claim construction is *metes and bounds*. - **Fabricated MPEP §2163.05(s) citation** — Same scope — corpus-generator artifact, not a model-wide hallucination pattern. Real §2163.05 has subsections (a)–(f) on written-description support; subsection (s) does not exist. ## Other Orionfold variants Sibling repos from the same release: | Variant | Lane | Format | |---|---|---| | [`Orionfold/patent-strategist-v3-nemo`](https://huggingface.co/Orionfold/patent-strategist-v3-nemo) | NeMo Framework | BF16 (transformers) | | [`Orionfold/patent-strategist-v3-nemo-GGUF`](https://huggingface.co/Orionfold/patent-strategist-v3-nemo-GGUF) | NeMo Framework | GGUF (llama.cpp) | --- Published by **Orionfold LLC** · [orionfold.com](https://orionfold.com) · Methods documented at [ainative.business/field-notes](https://ainative.business/field-notes/).