Copy of farbodtavakkoli/OTel-Reranker-4B at 8961569
Browse files- .gitattributes +1 -0
- README.md +175 -0
- chat_template.jinja +85 -0
- config.json +81 -0
- model.safetensors +3 -0
- tokenizer.json +3 -0
- tokenizer_config.json +30 -0
.gitattributes
CHANGED
|
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
tokenizer.json filter=lfs diff=lfs merge=lfs -text
|
README.md
ADDED
|
@@ -0,0 +1,175 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: apache-2.0
|
| 3 |
+
language:
|
| 4 |
+
- en
|
| 5 |
+
base_model:
|
| 6 |
+
- Qwen/Qwen3-4B
|
| 7 |
+
datasets:
|
| 8 |
+
- farbodtavakkoli/OTel-Reranker
|
| 9 |
+
tags:
|
| 10 |
+
- telecom
|
| 11 |
+
- telecommunications
|
| 12 |
+
- gsma
|
| 13 |
+
- rag
|
| 14 |
+
- full-parameter-fine-tuning
|
| 15 |
+
- fine-tuned
|
| 16 |
+
pipeline_tag: text-classification
|
| 17 |
+
---
|
| 18 |
+
|
| 19 |
+
# OTel-Reranker-4B
|
| 20 |
+
|
| 21 |
+
**OTel-Reranker-4B** is a telecom reranker model full-parameter fine-tuned on OTel telecommunications data. It is part of the [OTel Family of Models](https://huggingface.co/collections/farbodtavakkoli/otel-reranker), an open-source initiative to build reference AI resources for the global telecommunications sector.
|
| 22 |
+
|
| 23 |
+
Across the 3 OTel reranker baselines, OTel fine-tuning improves MRR@10 by +0.530 to +0.592 over the base checkpoints.
|
| 24 |
+
|
| 25 |
+
## Community Use
|
| 26 |
+
|
| 27 |
+
As of May 3, 2026, the released OTel models had been downloaded over 16 million times, and the Open Telco AI project had received 157+ pieces of media coverage worldwide.
|
| 28 |
+
|
| 29 |
+
## Model Details
|
| 30 |
+
|
| 31 |
+
| Attribute | Value |
|
| 32 |
+
|---|---|
|
| 33 |
+
| Base model | [Qwen/Qwen3-4B](https://huggingface.co/Qwen/Qwen3-4B) |
|
| 34 |
+
| Parameters | 4B |
|
| 35 |
+
| OTel training dataset | [OTel-Reranker](https://huggingface.co/datasets/farbodtavakkoli/OTel-Reranker) |
|
| 36 |
+
| Dataset fields | `sentence_0`, `sentence_1`, `label` |
|
| 37 |
+
| Training method | Full-parameter post-training / fine-tuning |
|
| 38 |
+
| Language | English |
|
| 39 |
+
| OTel release license | Apache 2.0 |
|
| 40 |
+
|
| 41 |
+
## Model Lineage
|
| 42 |
+
|
| 43 |
+
`Qwen/Qwen3-4B` -> `OTel-Reranker` full-parameter post-training -> `farbodtavakkoli/OTel-Reranker-4B`
|
| 44 |
+
|
| 45 |
+
## OTel vs. Base Model
|
| 46 |
+
|
| 47 |
+
| Metric | Base model | OTel fine-tuned | Delta | Evaluation split |
|
| 48 |
+
|---|---:|---:|---:|---|
|
| 49 |
+
| MRR@10 | 0.407 | 0.943 +/- 0.006 | +0.536 | OTel-Reranker held-out 5% |
|
| 50 |
+
|
| 51 |
+
Standard errors are computed with bootstrap resampling (`n=1000`) over the held-out OTel evaluation partition. MRR@10 measures how quickly the first truly relevant telecom passage is promoted near the top of the reranked list.
|
| 52 |
+
|
| 53 |
+
## Evaluation Caveats
|
| 54 |
+
|
| 55 |
+
- Reranker results measure held-out OTel reranking partitions.
|
| 56 |
+
- Reported standard errors come from bootstrap resampling over the held-out evaluation partitions.
|
| 57 |
+
- Reranking quality depends on the candidate passages supplied by the upstream retriever.
|
| 58 |
+
- External benchmark transfer, multilingual performance, and per-subdomain performance should be evaluated separately for production settings.
|
| 59 |
+
|
| 60 |
+
|
| 61 |
+
## Training Data
|
| 62 |
+
|
| 63 |
+
The model was trained on telecom-focused data curated by 100+ domain experts. The raw corpus contained roughly 1.1M training points and was filtered to 326,767 higher-confidence examples.
|
| 64 |
+
|
| 65 |
+
| Source | Contributor |
|
| 66 |
+
|---|---|
|
| 67 |
+
| arXiv telecom papers, 3GPP standards, telecom Wikipedia, telecom Common Crawl | Yale University |
|
| 68 |
+
| GSMA Permanent Reference Documents, Discover portal | GSMA |
|
| 69 |
+
| IETF RFC series | NetoAI |
|
| 70 |
+
| Industry whitepapers | Khalifa University |
|
| 71 |
+
| O-RAN specifications (working groups 1, 2, 4, 5, 6, 7, 8, 9, 10) | University of Leeds |
|
| 72 |
+
| O-RAN documents across working groups | Purdue University and The University of Texas at Dallas |
|
| 73 |
+
|
| 74 |
+
Released datasets: [OTel-LLM](https://huggingface.co/datasets/farbodtavakkoli/OTel-LLM), [OTel-Embedding](https://huggingface.co/datasets/farbodtavakkoli/OTel-Embedding), [OTel-Reranker](https://huggingface.co/datasets/farbodtavakkoli/OTel-Reranker), and [OTel-Safety](https://huggingface.co/datasets/farbodtavakkoli/OTel-Safety).
|
| 75 |
+
|
| 76 |
+
The OTel datasets release derived QA/retrieval/reranking examples rather than the raw source documents.
|
| 77 |
+
|
| 78 |
+
Each released dataset includes a dataset card and Croissant metadata with Responsible AI fields for data limitations, biases, sensitive-information considerations, use cases, social impact, synthetic-data status, and provenance.
|
| 79 |
+
|
| 80 |
+
## Representative Training Row
|
| 81 |
+
|
| 82 |
+
`OTel-Reranker` rows are pointwise cross-encoder relevance examples.
|
| 83 |
+
|
| 84 |
+
```json
|
| 85 |
+
{
|
| 86 |
+
"sentence_0": "The Fronthaul Gateway can translate FH protocol from an O-DUx with split option 7-2 to an O-RUy with split option 8.",
|
| 87 |
+
"sentence_1": "Fronthaul Gateway that can translate FH protocol from an O-DUx with split option x to an O-RUy with split option y, with currently available option 7-2 to 8.",
|
| 88 |
+
"label": 1.0
|
| 89 |
+
}
|
| 90 |
+
```
|
| 91 |
+
|
| 92 |
+
## Intended Use
|
| 93 |
+
|
| 94 |
+
This model is intended to re-score telecom query-passage pairs after an initial retrieval step. It is designed for the reranking stage of a telecom RAG pipeline, where the goal is to promote the most relevant retrieved passages before answer generation.
|
| 95 |
+
|
| 96 |
+
## Training Recipe
|
| 97 |
+
|
| 98 |
+
| Item | Value |
|
| 99 |
+
|---|---|
|
| 100 |
+
| Framework | ScalarLM |
|
| 101 |
+
| Optimizer | AdamW, 8-bit |
|
| 102 |
+
| Learning-rate schedule | Cosine decay with warmup |
|
| 103 |
+
| Weight decay | 0.01 |
|
| 104 |
+
| Warmup steps | 100 |
|
| 105 |
+
| Random seed | 42 |
|
| 106 |
+
| Maximum sequence length | 1500 tokens |
|
| 107 |
+
| Precision | BF16 |
|
| 108 |
+
| Attention | Flash Attention 2 |
|
| 109 |
+
| Distributed training | Fully Sharded Data Parallel |
|
| 110 |
+
| Gradient checkpointing | Enabled |
|
| 111 |
+
| Epochs | 3 for LLM/embedding models; 2 for rerankers |
|
| 112 |
+
| Compute | AMD MI300X/MI325X/MI355X and NVIDIA A100/H100 GPUs |
|
| 113 |
+
|
| 114 |
+
## Usage
|
| 115 |
+
|
| 116 |
+
```python
|
| 117 |
+
from transformers import AutoModelForSequenceClassification, AutoTokenizer
|
| 118 |
+
import torch
|
| 119 |
+
|
| 120 |
+
model_name = "farbodtavakkoli/OTel-Reranker-4B"
|
| 121 |
+
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
|
| 122 |
+
model = AutoModelForSequenceClassification.from_pretrained(
|
| 123 |
+
model_name,
|
| 124 |
+
trust_remote_code=True,
|
| 125 |
+
)
|
| 126 |
+
|
| 127 |
+
query = "What is the F1 interface?"
|
| 128 |
+
documents = [
|
| 129 |
+
"The F1 interface connects O-DU to O-CU in O-RAN architecture.",
|
| 130 |
+
"5G networks use millimeter wave frequencies.",
|
| 131 |
+
]
|
| 132 |
+
|
| 133 |
+
pairs = [[query, doc] for doc in documents]
|
| 134 |
+
inputs = tokenizer(pairs, padding=True, truncation=True, return_tensors="pt")
|
| 135 |
+
with torch.no_grad():
|
| 136 |
+
scores = model(**inputs).logits.squeeze()
|
| 137 |
+
print(scores)
|
| 138 |
+
```
|
| 139 |
+
|
| 140 |
+
## Limitations and Responsible Use
|
| 141 |
+
|
| 142 |
+
- OTel models are domain-specific to telecommunications and should not be treated as general-purpose models.
|
| 143 |
+
- The current release is English-only and primarily text-centric.
|
| 144 |
+
- The reported OTel performance results use held-out OTel evaluation partitions and should not be interpreted as results from a fully independent external benchmark suite.
|
| 145 |
+
- Aggregate scores can hide subdomain variation; collaborator stress tests suggest O-RAN retrieval is comparatively strong, while academic-paper and GSMA PRD examples need further curation.
|
| 146 |
+
- Generated telecom content should be verified before operational, customer-facing, regulatory, safety, or network-configuration use.
|
| 147 |
+
- Users must comply with both the OTel release license and the upstream base-model license or terms.
|
| 148 |
+
|
| 149 |
+
## Related Models
|
| 150 |
+
|
| 151 |
+
- [OTel LLM Collection](https://huggingface.co/collections/farbodtavakkoli/otel-llm)
|
| 152 |
+
- [OTel Embedding Collection](https://huggingface.co/collections/farbodtavakkoli/otel-embedding)
|
| 153 |
+
- [OTel Reranker Collection](https://huggingface.co/collections/farbodtavakkoli/otel-reranker)
|
| 154 |
+
|
| 155 |
+
## Project Resources
|
| 156 |
+
|
| 157 |
+
- Project page: https://huggingface.co/farbodtavakkoli
|
| 158 |
+
- Code: https://github.com/farbodtavakkoli/OTel
|
| 159 |
+
- Media coverage list: https://github.com/farbodtavakkoli/OTel/blob/main/docs/OTel-1.0-media-coverage.md
|
| 160 |
+
|
| 161 |
+
## Citation
|
| 162 |
+
|
| 163 |
+
```bibtex
|
| 164 |
+
@inproceedings{tavakkoli2026otel,
|
| 165 |
+
title = {OTel: Open Telco AI Datasets, Benchmarks, and Models},
|
| 166 |
+
author = {Tavakkoli, Farbod and Diamos, Gregory and Church, Kenneth and Kanter, David and Austin, Mark and Karim, Imtiaz and Rahman, Mirza Masfiqur and Debbah, Merouane Abdelkader and Nezami, Zeinab and Maatouk, Ali and Tassiulas, Leandros and Ying, Rex and Sorros, Nick and Powell, Louis and Vasiloglou, Nikolaos and Vaswani, Ashish and Singla, Somanshu and Chaluvaraju, Adarsh},
|
| 167 |
+
booktitle = {Advances in Neural Information Processing Systems (NeurIPS), Evaluations and Datasets Track},
|
| 168 |
+
year = {2026},
|
| 169 |
+
url = {https://github.com/farbodtavakkoli/OTel}
|
| 170 |
+
}
|
| 171 |
+
```
|
| 172 |
+
|
| 173 |
+
## Contact
|
| 174 |
+
|
| 175 |
+
For technical questions, contact farbod.tavakkoli@att.com or farbodtavakoli@gmail.com.
|
chat_template.jinja
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{%- if tools %}
|
| 2 |
+
{{- '<|im_start|>system\n' }}
|
| 3 |
+
{%- if messages[0].role == 'system' %}
|
| 4 |
+
{{- messages[0].content + '\n\n' }}
|
| 5 |
+
{%- endif %}
|
| 6 |
+
{{- "# Tools\n\nYou may call one or more functions to assist with the user query.\n\nYou are provided with function signatures within <tools></tools> XML tags:\n<tools>" }}
|
| 7 |
+
{%- for tool in tools %}
|
| 8 |
+
{{- "\n" }}
|
| 9 |
+
{{- tool | tojson }}
|
| 10 |
+
{%- endfor %}
|
| 11 |
+
{{- "\n</tools>\n\nFor each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:\n<tool_call>\n{\"name\": <function-name>, \"arguments\": <args-json-object>}\n</tool_call><|im_end|>\n" }}
|
| 12 |
+
{%- else %}
|
| 13 |
+
{%- if messages[0].role == 'system' %}
|
| 14 |
+
{{- '<|im_start|>system\n' + messages[0].content + '<|im_end|>\n' }}
|
| 15 |
+
{%- endif %}
|
| 16 |
+
{%- endif %}
|
| 17 |
+
{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
|
| 18 |
+
{%- for message in messages[::-1] %}
|
| 19 |
+
{%- set index = (messages|length - 1) - loop.index0 %}
|
| 20 |
+
{%- if ns.multi_step_tool and message.role == "user" and not(message.content.startswith('<tool_response>') and message.content.endswith('</tool_response>')) %}
|
| 21 |
+
{%- set ns.multi_step_tool = false %}
|
| 22 |
+
{%- set ns.last_query_index = index %}
|
| 23 |
+
{%- endif %}
|
| 24 |
+
{%- endfor %}
|
| 25 |
+
{%- for message in messages %}
|
| 26 |
+
{%- if (message.role == "user") or (message.role == "system" and not loop.first) %}
|
| 27 |
+
{{- '<|im_start|>' + message.role + '\n' + message.content + '<|im_end|>' + '\n' }}
|
| 28 |
+
{%- elif message.role == "assistant" %}
|
| 29 |
+
{%- set content = message.content %}
|
| 30 |
+
{%- set reasoning_content = '' %}
|
| 31 |
+
{%- if message.reasoning_content is defined and message.reasoning_content is not none %}
|
| 32 |
+
{%- set reasoning_content = message.reasoning_content %}
|
| 33 |
+
{%- else %}
|
| 34 |
+
{%- if '</think>' in message.content %}
|
| 35 |
+
{%- set content = message.content.split('</think>')[-1].lstrip('\n') %}
|
| 36 |
+
{%- set reasoning_content = message.content.split('</think>')[0].rstrip('\n').split('<think>')[-1].lstrip('\n') %}
|
| 37 |
+
{%- endif %}
|
| 38 |
+
{%- endif %}
|
| 39 |
+
{%- if loop.index0 > ns.last_query_index %}
|
| 40 |
+
{%- if loop.last or (not loop.last and reasoning_content) %}
|
| 41 |
+
{{- '<|im_start|>' + message.role + '\n<think>\n' + reasoning_content.strip('\n') + '\n</think>\n\n' + content.lstrip('\n') }}
|
| 42 |
+
{%- else %}
|
| 43 |
+
{{- '<|im_start|>' + message.role + '\n' + content }}
|
| 44 |
+
{%- endif %}
|
| 45 |
+
{%- else %}
|
| 46 |
+
{{- '<|im_start|>' + message.role + '\n' + content }}
|
| 47 |
+
{%- endif %}
|
| 48 |
+
{%- if message.tool_calls %}
|
| 49 |
+
{%- for tool_call in message.tool_calls %}
|
| 50 |
+
{%- if (loop.first and content) or (not loop.first) %}
|
| 51 |
+
{{- '\n' }}
|
| 52 |
+
{%- endif %}
|
| 53 |
+
{%- if tool_call.function %}
|
| 54 |
+
{%- set tool_call = tool_call.function %}
|
| 55 |
+
{%- endif %}
|
| 56 |
+
{{- '<tool_call>\n{"name": "' }}
|
| 57 |
+
{{- tool_call.name }}
|
| 58 |
+
{{- '", "arguments": ' }}
|
| 59 |
+
{%- if tool_call.arguments is string %}
|
| 60 |
+
{{- tool_call.arguments }}
|
| 61 |
+
{%- else %}
|
| 62 |
+
{{- tool_call.arguments | tojson }}
|
| 63 |
+
{%- endif %}
|
| 64 |
+
{{- '}\n</tool_call>' }}
|
| 65 |
+
{%- endfor %}
|
| 66 |
+
{%- endif %}
|
| 67 |
+
{{- '<|im_end|>\n' }}
|
| 68 |
+
{%- elif message.role == "tool" %}
|
| 69 |
+
{%- if loop.first or (messages[loop.index0 - 1].role != "tool") %}
|
| 70 |
+
{{- '<|im_start|>user' }}
|
| 71 |
+
{%- endif %}
|
| 72 |
+
{{- '\n<tool_response>\n' }}
|
| 73 |
+
{{- message.content }}
|
| 74 |
+
{{- '\n</tool_response>' }}
|
| 75 |
+
{%- if loop.last or (messages[loop.index0 + 1].role != "tool") %}
|
| 76 |
+
{{- '<|im_end|>\n' }}
|
| 77 |
+
{%- endif %}
|
| 78 |
+
{%- endif %}
|
| 79 |
+
{%- endfor %}
|
| 80 |
+
{%- if add_generation_prompt %}
|
| 81 |
+
{{- '<|im_start|>assistant\n' }}
|
| 82 |
+
{%- if enable_thinking is defined and enable_thinking is false %}
|
| 83 |
+
{{- '<think>\n\n</think>\n\n' }}
|
| 84 |
+
{%- endif %}
|
| 85 |
+
{%- endif %}
|
config.json
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"architectures": [
|
| 3 |
+
"Qwen3ForSequenceClassification"
|
| 4 |
+
],
|
| 5 |
+
"attention_bias": false,
|
| 6 |
+
"attention_dropout": 0.0,
|
| 7 |
+
"bos_token_id": null,
|
| 8 |
+
"dtype": "bfloat16",
|
| 9 |
+
"eos_token_id": 151645,
|
| 10 |
+
"head_dim": 128,
|
| 11 |
+
"hidden_act": "silu",
|
| 12 |
+
"hidden_size": 2560,
|
| 13 |
+
"id2label": {
|
| 14 |
+
"0": "LABEL_0"
|
| 15 |
+
},
|
| 16 |
+
"initializer_range": 0.02,
|
| 17 |
+
"intermediate_size": 9728,
|
| 18 |
+
"label2id": {
|
| 19 |
+
"LABEL_0": 0
|
| 20 |
+
},
|
| 21 |
+
"layer_types": [
|
| 22 |
+
"full_attention",
|
| 23 |
+
"full_attention",
|
| 24 |
+
"full_attention",
|
| 25 |
+
"full_attention",
|
| 26 |
+
"full_attention",
|
| 27 |
+
"full_attention",
|
| 28 |
+
"full_attention",
|
| 29 |
+
"full_attention",
|
| 30 |
+
"full_attention",
|
| 31 |
+
"full_attention",
|
| 32 |
+
"full_attention",
|
| 33 |
+
"full_attention",
|
| 34 |
+
"full_attention",
|
| 35 |
+
"full_attention",
|
| 36 |
+
"full_attention",
|
| 37 |
+
"full_attention",
|
| 38 |
+
"full_attention",
|
| 39 |
+
"full_attention",
|
| 40 |
+
"full_attention",
|
| 41 |
+
"full_attention",
|
| 42 |
+
"full_attention",
|
| 43 |
+
"full_attention",
|
| 44 |
+
"full_attention",
|
| 45 |
+
"full_attention",
|
| 46 |
+
"full_attention",
|
| 47 |
+
"full_attention",
|
| 48 |
+
"full_attention",
|
| 49 |
+
"full_attention",
|
| 50 |
+
"full_attention",
|
| 51 |
+
"full_attention",
|
| 52 |
+
"full_attention",
|
| 53 |
+
"full_attention",
|
| 54 |
+
"full_attention",
|
| 55 |
+
"full_attention",
|
| 56 |
+
"full_attention",
|
| 57 |
+
"full_attention"
|
| 58 |
+
],
|
| 59 |
+
"max_position_embeddings": 40960,
|
| 60 |
+
"max_window_layers": 36,
|
| 61 |
+
"model_type": "qwen3",
|
| 62 |
+
"num_attention_heads": 32,
|
| 63 |
+
"num_hidden_layers": 36,
|
| 64 |
+
"num_key_value_heads": 8,
|
| 65 |
+
"pad_token_id": 151643,
|
| 66 |
+
"rms_norm_eps": 1e-06,
|
| 67 |
+
"rope_parameters": {
|
| 68 |
+
"rope_theta": 1000000,
|
| 69 |
+
"rope_type": "default"
|
| 70 |
+
},
|
| 71 |
+
"sentence_transformers": {
|
| 72 |
+
"activation_fn": "torch.nn.modules.activation.Sigmoid",
|
| 73 |
+
"version": "5.2.0"
|
| 74 |
+
},
|
| 75 |
+
"sliding_window": null,
|
| 76 |
+
"tie_word_embeddings": true,
|
| 77 |
+
"transformers_version": "5.0.0.dev0",
|
| 78 |
+
"use_cache": false,
|
| 79 |
+
"use_sliding_window": false,
|
| 80 |
+
"vocab_size": 151669
|
| 81 |
+
}
|
model.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:9650703dfc0f1c25982300cf180cba86cf2c149738dbc3a54a0fd60a2c110e16
|
| 3 |
+
size 8043620248
|
tokenizer.json
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:31110386145fd5016e6b0c0ff0f156404e1f08fb9cac513064e02c9eb8c38728
|
| 3 |
+
size 11422917
|
tokenizer_config.json
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"add_prefix_space": false,
|
| 3 |
+
"backend": "tokenizers",
|
| 4 |
+
"bos_token": null,
|
| 5 |
+
"clean_up_tokenization_spaces": false,
|
| 6 |
+
"eos_token": "<|im_end|>",
|
| 7 |
+
"errors": "replace",
|
| 8 |
+
"extra_special_tokens": [
|
| 9 |
+
"<|im_start|>",
|
| 10 |
+
"<|im_end|>",
|
| 11 |
+
"<|object_ref_start|>",
|
| 12 |
+
"<|object_ref_end|>",
|
| 13 |
+
"<|box_start|>",
|
| 14 |
+
"<|box_end|>",
|
| 15 |
+
"<|quad_start|>",
|
| 16 |
+
"<|quad_end|>",
|
| 17 |
+
"<|vision_start|>",
|
| 18 |
+
"<|vision_end|>",
|
| 19 |
+
"<|vision_pad|>",
|
| 20 |
+
"<|image_pad|>",
|
| 21 |
+
"<|video_pad|>"
|
| 22 |
+
],
|
| 23 |
+
"is_local": false,
|
| 24 |
+
"model_max_length": 1024,
|
| 25 |
+
"model_specific_special_tokens": {},
|
| 26 |
+
"pad_token": "<|endoftext|>",
|
| 27 |
+
"split_special_tokens": false,
|
| 28 |
+
"tokenizer_class": "Qwen2Tokenizer",
|
| 29 |
+
"unk_token": null
|
| 30 |
+
}
|