Upload folder using huggingface_hub
Browse filesThis view is limited to 50 files because it contains too many changes.
See raw diff
- .ipynb_checkpoints/README-checkpoint.md +173 -0
- LICENSE.txt +176 -0
- NOTICE.txt +1 -0
- config.json +38 -0
- configuration_dbrx.py +264 -0
- generation_config.json +7 -0
- model-00001-of-00061.safetensors +3 -0
- model-00002-of-00061.safetensors +3 -0
- model-00003-of-00061.safetensors +3 -0
- model-00004-of-00061.safetensors +3 -0
- model-00005-of-00061.safetensors +3 -0
- model-00006-of-00061.safetensors +3 -0
- model-00007-of-00061.safetensors +3 -0
- model-00008-of-00061.safetensors +3 -0
- model-00009-of-00061.safetensors +3 -0
- model-00010-of-00061.safetensors +3 -0
- model-00011-of-00061.safetensors +3 -0
- model-00012-of-00061.safetensors +3 -0
- model-00013-of-00061.safetensors +3 -0
- model-00014-of-00061.safetensors +3 -0
- model-00015-of-00061.safetensors +3 -0
- model-00016-of-00061.safetensors +3 -0
- model-00017-of-00061.safetensors +3 -0
- model-00018-of-00061.safetensors +3 -0
- model-00019-of-00061.safetensors +3 -0
- model-00020-of-00061.safetensors +3 -0
- model-00021-of-00061.safetensors +3 -0
- model-00022-of-00061.safetensors +3 -0
- model-00023-of-00061.safetensors +3 -0
- model-00024-of-00061.safetensors +3 -0
- model-00025-of-00061.safetensors +3 -0
- model-00026-of-00061.safetensors +3 -0
- model-00027-of-00061.safetensors +3 -0
- model-00028-of-00061.safetensors +3 -0
- model-00029-of-00061.safetensors +3 -0
- model-00030-of-00061.safetensors +3 -0
- model-00031-of-00061.safetensors +3 -0
- model-00032-of-00061.safetensors +3 -0
- model-00033-of-00061.safetensors +3 -0
- model-00034-of-00061.safetensors +3 -0
- model-00035-of-00061.safetensors +3 -0
- model-00036-of-00061.safetensors +3 -0
- model-00037-of-00061.safetensors +3 -0
- model-00038-of-00061.safetensors +3 -0
- model-00039-of-00061.safetensors +3 -0
- model-00040-of-00061.safetensors +3 -0
- model-00041-of-00061.safetensors +3 -0
- model-00042-of-00061.safetensors +3 -0
- model-00043-of-00061.safetensors +3 -0
- model-00044-of-00061.safetensors +3 -0
.ipynb_checkpoints/README-checkpoint.md
ADDED
@@ -0,0 +1,173 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
extra_gated_heading: You need to share contact information with Databricks to access this model
|
3 |
+
extra_gated_prompt: >-
|
4 |
+
|
5 |
+
### DBRX Terms of Use
|
6 |
+
|
7 |
+
Use of DBRX is governed by the [Databricks Open Model License](https://www.databricks.com/legal/open-model-license) and the [Databricks Open Model Acceptable Use Policy](https://www.databricks.com/legal/acceptable-use-policy-open-model).
|
8 |
+
|
9 |
+
extra_gated_fields:
|
10 |
+
First Name: text
|
11 |
+
Last Name: text
|
12 |
+
Organization: text
|
13 |
+
Purpose for Base Model Access: text
|
14 |
+
By clicking 'Submit' below, I accept the terms of the license and acknowledge that the information I provide will be collected, stored, processed, and shared in accordance with Databricks' Privacy Notice and I understand I can update my preferences at any time: checkbox
|
15 |
+
extra_gated_description: >-
|
16 |
+
The information you provide will be collected, stored, processed, and shared in accordance with Databricks [Privacy Notice](https://www.databricks.com/legal/privacynotice).
|
17 |
+
extra_gated_button_content: Submit
|
18 |
+
inference: false
|
19 |
+
license: other
|
20 |
+
license_name: databricks-open-model-license
|
21 |
+
license_link: https://www.databricks.com/legal/open-model-license
|
22 |
+
---
|
23 |
+
|
24 |
+
# Re-upload because original repo is gated
|
25 |
+
|
26 |
+
Don't do that shit. Come on. Open weights mean open weights. Not gate.
|
27 |
+
|
28 |
+
# DBRX Base
|
29 |
+
|
30 |
+
* DBRX Base is a mixture-of-experts (MoE) large language model trained from scratch by Databricks.
|
31 |
+
* We are releasing both DBRX Base, a pretrained base model, and DBRX Instruct, a fine-tuned version for few-turn interactions, under [an open license](https://www.databricks.com/legal/open-model-license).
|
32 |
+
* This is the repository for DBRX Base. DBRX Instruct can be found [here](https://huggingface.co/databricks/dbrx-instruct).
|
33 |
+
* For full details on the DBRX models, please read our [technical blog post](https://www.databricks.com/blog/introducing-dbrx-new-state-art-open-llm).
|
34 |
+
|
35 |
+
|
36 |
+
## Model Overview
|
37 |
+
DBRX is a [transformer-based](https://www.isattentionallyouneed.com/) decoder-only large language model (LLM) that was trained using next-token prediction.
|
38 |
+
It uses a *fine-grained* mixture-of-experts (MoE) architecture with 132B total parameters of which 36B parameters are active on any input.
|
39 |
+
It was pre-trained on 12T tokens of text and code data.
|
40 |
+
Compared to other open MoE models like Mixtral-8x7B and Grok-1, DBRX is fine-grained, meaning it uses a larger number of smaller experts. DBRX has 16 experts and chooses 4, while Mixtral-8x7B and Grok-1 have 8 experts and choose 2.
|
41 |
+
This provides 65x more possible combinations of experts and we found that this improves model quality.
|
42 |
+
DBRX uses rotary position encodings (RoPE), gated linear units (GLU), and grouped query attention (GQA).
|
43 |
+
It uses the GPT-4 tokenizer as provided in the [tiktoken](https://github.com/openai/tiktoken) repository.
|
44 |
+
We made these choices based on exhaustive evaluation and scaling experiments.
|
45 |
+
|
46 |
+
DBRX was pretrained on 12T tokens of carefully curated data and a maximum context length of 32K tokens.
|
47 |
+
We estimate that this data is at least 2x better token-for-token than the data we used to pretrain the MPT family of models.
|
48 |
+
This new dataset was developed using the full suite of Databricks tools, including Apache Spark™ and Databricks notebooks for data processing, and Unity Catalog for data management and governance.
|
49 |
+
We used curriculum learning for pretraining, changing the data mix during training in ways we found to substantially improve model quality.
|
50 |
+
|
51 |
+
* **Inputs:** DBRX only accepts text-based inputs and accepts a context length of up to 32768 tokens.
|
52 |
+
* **Outputs:** DBRX only produces text-based outputs.
|
53 |
+
* **Model Architecture:** More detailed information about DBRX Instruct and DBRX Base can be found in our [technical blog post](https://www.databricks.com/blog/introducing-dbrx-new-state-art-open-llm).
|
54 |
+
* **License:** [Databricks Open Model License](https://www.databricks.com/legal/open-model-license)
|
55 |
+
* **Acceptable Use Policy:** [Databricks Open Model Acceptable Use Policy](https://www.databricks.com/legal/acceptable-use-policy-open-model)
|
56 |
+
* **Version:** 1.0
|
57 |
+
* **Owner:** Databricks, Inc.
|
58 |
+
|
59 |
+
|
60 |
+
## Usage
|
61 |
+
These are several general ways to use the DBRX models:
|
62 |
+
* DBRX Base and DBRX Instruct are available for download on HuggingFace (see our Quickstart guide below). This is the HF repository for DBRX Base; DBRX Instruct can be found [here](https://huggingface.co/databricks/dbrx-instruct).
|
63 |
+
* The DBRX model repository can be found on GitHub [here](https://github.com/databricks/dbrx).
|
64 |
+
* DBRX Base and DBRX Instruct are available with [Databricks Foundation Model APIs](https://docs.databricks.com/en/machine-learning/foundation-models/index.html) via both *Pay-per-token* and *Provisioned Throughput* endpoints. These are enterprise-ready deployments.
|
65 |
+
* For more information on how to fine-tune using LLM-Foundry, please take a look at our LLM pretraining and fine-tuning [documentation](https://github.com/mosaicml/llm-foundry/blob/main/scripts/train/README.md).
|
66 |
+
|
67 |
+
|
68 |
+
## Quickstart Guide
|
69 |
+
**NOTE: This is DBRX Base, and has not been instruction finetuned. It has not been trained for interactive chat and is only a completion model.**
|
70 |
+
If you are looking for the finetuned model, please use [DBRX Instruct](https://huggingface.co/databricks/dbrx-instruct).
|
71 |
+
|
72 |
+
Getting started with DBRX models is easy with the `transformers` library. The model requires ~264GB of RAM and the following packages:
|
73 |
+
|
74 |
+
```bash
|
75 |
+
pip install transformers tiktoken
|
76 |
+
```
|
77 |
+
|
78 |
+
If you'd like to speed up download time, you can use the `hf_transfer` package as described by Huggingface [here](https://huggingface.co/docs/huggingface_hub/en/guides/download#faster-downloads).
|
79 |
+
```bash
|
80 |
+
pip install hf_transfer
|
81 |
+
export HF_HUB_ENABLE_HF_TRANSFER=1
|
82 |
+
```
|
83 |
+
|
84 |
+
### Run the model on a CPU:
|
85 |
+
```python
|
86 |
+
from transformers import AutoTokenizer, AutoModelForCausalLM
|
87 |
+
import torch
|
88 |
+
|
89 |
+
tokenizer = AutoTokenizer.from_pretrained("databricks/dbrx-base", trust_remote_code=True)
|
90 |
+
model = AutoModelForCausalLM.from_pretrained("databricks/dbrx-base", device_map="cpu", torch_dtype=torch.bfloat16, trust_remote_code=True)
|
91 |
+
|
92 |
+
input_text = "Databricks was founded in "
|
93 |
+
input_ids = tokenizer(input_text, return_tensors="pt")
|
94 |
+
|
95 |
+
outputs = model.generate(**input_ids, max_new_tokens=100)
|
96 |
+
print(tokenizer.decode(outputs[0]))
|
97 |
+
```
|
98 |
+
|
99 |
+
### Run the model on multiple GPUs:
|
100 |
+
```python
|
101 |
+
from transformers import AutoTokenizer, AutoModelForCausalLM
|
102 |
+
import torch
|
103 |
+
|
104 |
+
tokenizer = AutoTokenizer.from_pretrained("databricks/dbrx-base", trust_remote_code=True)
|
105 |
+
model = AutoModelForCausalLM.from_pretrained("databricks/dbrx-base", device_map="auto", torch_dtype=torch.bfloat16, trust_remote_code=True)
|
106 |
+
|
107 |
+
input_text = "Databricks was founded in "
|
108 |
+
input_ids = tokenizer(input_text, return_tensors="pt").to("cuda")
|
109 |
+
|
110 |
+
outputs = model.generate(**input_ids, max_new_tokens=100)
|
111 |
+
print(tokenizer.decode(outputs[0]))
|
112 |
+
```
|
113 |
+
If your GPU system supports [FlashAttention2](https://huggingface.co/docs/transformers/perf_infer_gpu_one#flashattention-2), you can add `attn_implementation=”flash_attention_2”` as a keyword to `AutoModelForCausalLM.from_pretrained()` to achieve faster inference.
|
114 |
+
|
115 |
+
|
116 |
+
## Limitations and Ethical Considerations
|
117 |
+
### Training Dataset Limitations
|
118 |
+
The DBRX models were trained on 12T tokens of text, with a knowledge cutoff date of December 2023.
|
119 |
+
|
120 |
+
The training mix used for DBRX contains both natural-language and code examples. The vast majority of our training data is in the English language. We did not test DBRX for non-English proficiency. Therefore, DBRX should be considered a generalist model for text-based use in the English language.
|
121 |
+
|
122 |
+
DBRX does not have multimodal capabilities.
|
123 |
+
|
124 |
+
### Associated Risks and Recommendations
|
125 |
+
All foundation models are novel technologies that carry various risks, and may output information that is inaccurate, incomplete, biased, or offensive.
|
126 |
+
Users should exercise judgment and evaluate such output for accuracy and appropriateness for their desired use case before using or sharing it.
|
127 |
+
Databricks recommends [using retrieval augmented generation (RAG)](https://www.databricks.com/glossary/retrieval-augmented-generation-rag) in scenarios where accuracy and fidelity are important.
|
128 |
+
We also recommend that anyone using or fine-tuning either DBRX Base or DBRX Instruct perform additional testing around safety in the context of their particular application and domain.
|
129 |
+
|
130 |
+
|
131 |
+
## Intended Uses
|
132 |
+
### Intended Use Cases
|
133 |
+
The DBRX models are open, general-purpose LLMs intended and licensed for both commercial and research applications.
|
134 |
+
They can be further fine-tuned for various domain-specific natural language and coding tasks.
|
135 |
+
DBRX Base can be used as an off-the-shelf model for text completion for general English-language and coding tasks.
|
136 |
+
|
137 |
+
Please review the Associated Risks section above, as well as the [Databricks Open Model License](https://www.databricks.com/legal/open-model-license) and [Databricks Open Model Acceptable Use Policy](https://www.databricks.com/legal/acceptable-use-policy-open-model) for further information about permissible uses of DBRX Base and its derivatives.
|
138 |
+
|
139 |
+
### Out-of-Scope Use Cases
|
140 |
+
DBRX models are not intended to be used out-of-the-box in non-English languages and do not support native code execution, or other forms of function-calling.
|
141 |
+
DBRX models should not be used in any manner that violates applicable laws or regulations or in any other way that is prohibited by the [Databricks Open Model License](https://www.databricks.com/legal/open-model-license) and [Databricks Open Model Acceptable Use Policy](https://www.databricks.com/legal/acceptable-use-policy-open-model).
|
142 |
+
|
143 |
+
|
144 |
+
## Training Stack
|
145 |
+
MoE models are complicated to train, and the training of DBRX Base and DBRX Instruct was heavily supported by Databricks’ infrastructure for data processing and large-scale LLM training (e.g., [Composer](https://github.com/mosaicml/composer), [Streaming](https://github.com/mosaicml/streaming), [Megablocks](https://github.com/stanford-futuredata/megablocks), and [LLM Foundry](https://github.com/mosaicml/llm-foundry)).
|
146 |
+
|
147 |
+
Composer is our core library for large-scale training.
|
148 |
+
It provides an optimized training loop, easy [checkpointing](https://docs.mosaicml.com/projects/composer/en/latest/trainer/checkpointing.html) and [logging](https://docs.mosaicml.com/projects/composer/en/latest/trainer/logging.html#wood-logging),
|
149 |
+
[FSDP](https://pytorch.org/docs/stable/fsdp.html)-based [model sharding](https://docs.mosaicml.com/projects/composer/en/latest/notes/distributed_training.html#fullyshardeddataparallel-fsdp),
|
150 |
+
convenient [abstractions](https://docs.mosaicml.com/projects/composer/en/latest/trainer/time.html), extreme customizability via [callbacks](https://docs.mosaicml.com/projects/composer/en/latest/trainer/callbacks.html), and more.
|
151 |
+
|
152 |
+
Streaming enables fast, low cost, and scalable training on large datasets from cloud storage. It handles a variety of challenges around deterministic resumption as node counts change, avoiding redundant downloads across devices, high-quality shuffling at scale, sample-level random access, and speed.
|
153 |
+
|
154 |
+
Megablocks is a lightweight library for MoE training. Crucially, it supports “dropless MoE,” which avoids inefficient padding and is intended to provide deterministic outputs for a given sequence no matter what other sequences are in the batch.
|
155 |
+
|
156 |
+
LLM Foundry ties all of these libraries together to create a simple LLM pretraining, fine-tuning, and inference experience.
|
157 |
+
|
158 |
+
DBRX was trained using proprietary optimized versions of the above open source libraries, along with our [LLM training platform](https://www.databricks.com/product/machine-learning/mosaic-ai-training).
|
159 |
+
|
160 |
+
|
161 |
+
## Evaluation
|
162 |
+
We find that DBRX outperforms established open-source and open-weight base models on the [Databricks Model Gauntlet](https://www.databricks.com/blog/llm-evaluation-for-icl), the [Hugging Face Open LLM Leaderboard](https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard), and HumanEval.
|
163 |
+
The Databricks Model Gauntlet measures performance on more than 30 tasks across six categories: world knowledge, common sense reasoning, language understanding, reading comprehension, symbolic problem solving, and programming.
|
164 |
+
The Hugging Face Open LLM Leaderboard measures the average of ARC-Challenge, HellaSwag, MMLU, TruthfulQA, Winogrande and GSM8k.
|
165 |
+
HumanEval measures coding ability.
|
166 |
+
|
167 |
+
Full evaluation details can be found in our [technical blog post](https://www.databricks.com/blog/introducing-dbrx-new-state-art-open-llm).
|
168 |
+
|
169 |
+
|
170 |
+
## Acknowledgements
|
171 |
+
The DBRX models were made possible thanks in large part to the open-source community, especially:
|
172 |
+
* The [MegaBlocks](https://arxiv.org/abs/2211.15841) library, which established a foundation for our MoE implementation.
|
173 |
+
* [PyTorch FSDP](https://arxiv.org/abs/2304.11277), which we built on for distributed training.
|
LICENSE.txt
ADDED
@@ -0,0 +1,176 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
Databricks Open Model License
|
2 |
+
|
3 |
+
By using, reproducing, modifying, distributing, performing or displaying
|
4 |
+
any portion or element of DBRX or DBRX Derivatives, or otherwise accepting
|
5 |
+
the terms of this Agreement, you agree to be bound by this Agreement.
|
6 |
+
|
7 |
+
Version Release Date: March 27, 2024
|
8 |
+
|
9 |
+
|
10 |
+
Section 1: Definitions
|
11 |
+
|
12 |
+
“Agreement” means these terms and conditions that govern the use, reproduction,
|
13 |
+
modification, distribution, performance or display of DBRX and/or DBRX
|
14 |
+
Derivatives and any terms and conditions incorporated by reference.
|
15 |
+
|
16 |
+
“Databricks” or “we” means Databricks, Inc.
|
17 |
+
|
18 |
+
“Licensee” or “you” means you, or your employer or any other person or entity
|
19 |
+
(if you are entering into this Agreement on such person or entity’s behalf),
|
20 |
+
of the age required under applicable laws, rules or regulations to provide
|
21 |
+
legal consent and that has legal authority to bind your employer or such other
|
22 |
+
person or entity if you are entering in this Agreement on their behalf.
|
23 |
+
|
24 |
+
“DBRX Derivatives” means all (i) modifications to DBRX, (ii) works based on
|
25 |
+
DBRX and (iii) any other derivative works thereof. Outputs are not deemed DBRX
|
26 |
+
Derivatives.
|
27 |
+
|
28 |
+
“DBRX” means the foundational large language models and software and
|
29 |
+
algorithms, including machine-learning model code, trained model weights,
|
30 |
+
inference-enabling code, training-enabling code, fine-tuning enabling code,
|
31 |
+
documentation and other elements of the foregoing identified by Databricks at
|
32 |
+
https://github.com/databricks/dbrx, regardless of the source that you obtained
|
33 |
+
it from.
|
34 |
+
|
35 |
+
“Output” means the results of operating DBRX or DBRX Derivatives.
|
36 |
+
|
37 |
+
As used in this Agreement, “including” means “including without limitation.”
|
38 |
+
|
39 |
+
|
40 |
+
Section 2: License Rights and Conditions on Use and Distribution
|
41 |
+
|
42 |
+
2.1 Grant of Rights
|
43 |
+
|
44 |
+
You are granted a non-exclusive, worldwide, non-transferable and royalty-free
|
45 |
+
limited license under Databricks’ intellectual property or other rights owned
|
46 |
+
by Databricks embodied in DBRX to use, reproduce, distribute, copy, modify,
|
47 |
+
and create derivative works of DBRX in accordance with the terms of this
|
48 |
+
Agreement.
|
49 |
+
|
50 |
+
2.2 Reproduction and Distribution
|
51 |
+
|
52 |
+
1. All distributions of DBRX or DBRX Derivatives must be accompanied by a
|
53 |
+
"Notice" text file that contains the following notice: "DBRX is provided
|
54 |
+
under and subject to the Databricks Open Model License, Copyright ©
|
55 |
+
Databricks, Inc. All rights reserved."
|
56 |
+
|
57 |
+
2. If you distribute or make DBRX or DBRX Derivatives available to a third
|
58 |
+
party, you must provide a copy of this Agreement to such third party.
|
59 |
+
|
60 |
+
3. You must cause any modified files that you distribute to carry prominent
|
61 |
+
notices stating that you modified the files.
|
62 |
+
|
63 |
+
You may add your own intellectual property statement to your modifications of
|
64 |
+
DBRX and, except as set forth in this Section, may provide additional or
|
65 |
+
different terms and conditions for use, reproduction, or distribution of DBRX
|
66 |
+
or DBRX Derivatives as a whole, provided your use, reproduction, modification,
|
67 |
+
distribution, performance, and display of DBRX or DBRX Derivatives otherwise
|
68 |
+
complies with the terms and conditions of this Agreement. Any additional or
|
69 |
+
different terms and conditions you impose must not conflict with the terms of
|
70 |
+
this Agreement and in the event of a conflict, the terms and conditions of this
|
71 |
+
Agreement shall govern over any such additional or different terms and conditions.
|
72 |
+
|
73 |
+
2.3 Use Restrictions
|
74 |
+
|
75 |
+
You will not use DBRX or DBRX Derivatives or any Output to improve any other
|
76 |
+
large language model (excluding DBRX or DBRX Derivatives).
|
77 |
+
|
78 |
+
You will not use DBRX or DBRX Derivatives:
|
79 |
+
|
80 |
+
1. for any restricted use set forth in the Databricks Open Model Acceptable
|
81 |
+
Use Policy identified at
|
82 |
+
https://www.databricks.com/legal/acceptable-use-policy-open-model
|
83 |
+
("Acceptable Use Policy"), which is hereby incorporated by reference into
|
84 |
+
this Agreement; or
|
85 |
+
|
86 |
+
2. in violation of applicable laws and regulations.
|
87 |
+
|
88 |
+
To the maximum extent permitted by law, Databricks reserves the right to
|
89 |
+
restrict (remotely or otherwise) usage of DBRX or DBRX Derivatives that
|
90 |
+
Databricks reasonably believes are in violation of this Agreement.
|
91 |
+
|
92 |
+
|
93 |
+
Section 3: Additional Commercial Terms
|
94 |
+
|
95 |
+
If, on the DBRX version release date, the monthly active users of the products
|
96 |
+
or services made available by or for Licensee, or Licensee’s affiliates, is
|
97 |
+
greater than 700 million monthly active users in the preceding calendar month,
|
98 |
+
you must request a license from Databricks, which we may grant to you in our
|
99 |
+
sole discretion, and you are not authorized to exercise any of the rights under
|
100 |
+
this Agreement unless or until Databricks otherwise expressly grants you such
|
101 |
+
rights.
|
102 |
+
|
103 |
+
If you receive DBRX or DBRX Derivatives from a direct or indirect licensee as
|
104 |
+
part of an integrated end user product, then this section (Section 3) of the
|
105 |
+
Agreement will not apply to you.
|
106 |
+
|
107 |
+
|
108 |
+
Section 4: Additional Provisions
|
109 |
+
|
110 |
+
4.1 Updates
|
111 |
+
|
112 |
+
Databricks may update DBRX from time to time, and you must make reasonable
|
113 |
+
efforts to use the latest version of DBRX.
|
114 |
+
|
115 |
+
4.2 Intellectual Property
|
116 |
+
|
117 |
+
a. No trademark licenses are granted under this Agreement, and in connection
|
118 |
+
with DBRX or DBRX Derivatives, neither Databricks nor Licensee may use any name
|
119 |
+
or mark owned by or associated with the other or any of its affiliates, except
|
120 |
+
as required for reasonable and customary use in describing and redistributing
|
121 |
+
DBRX or DBRX Derivatives.
|
122 |
+
|
123 |
+
b. Subject to Databricks’ ownership of DBRX and DRBX Derivatives made by or for
|
124 |
+
Databricks, with respect to any DBRX Derivatives that are made by you, as
|
125 |
+
between you and Databricks, you are and will be the owner of such DBRX
|
126 |
+
Derivatives.
|
127 |
+
|
128 |
+
c. Databricks claims no ownership rights in Outputs. You are responsible for
|
129 |
+
Outputs and their subsequent uses.
|
130 |
+
|
131 |
+
d. If you institute litigation or other proceedings against Databricks or any
|
132 |
+
entity (including a cross-claim or counterclaim in a lawsuit) alleging that
|
133 |
+
DBRX or Outputs or results therefrom, or any portion of any of the foregoing,
|
134 |
+
constitutes infringement of intellectual property or other rights owned or
|
135 |
+
licensable by you, then any licenses granted to you under this Agreement shall
|
136 |
+
terminate as of the date such litigation or claim is filed or instituted. You
|
137 |
+
will indemnify and hold harmless Databricks from and against any claim by any
|
138 |
+
third party arising out of or related to your use or distribution of DBRX or
|
139 |
+
DBRX Derivatives.
|
140 |
+
|
141 |
+
4.3 DISCLAIMER OF WARRANTY
|
142 |
+
|
143 |
+
UNLESS REQUIRED BY APPLICABLE LAW, DBRX AND ANY OUTPUT AND RESULTS THEREFROM
|
144 |
+
ARE PROVIDED ON AN “AS IS” BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER
|
145 |
+
EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OF TITLE,
|
146 |
+
NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. YOU
|
147 |
+
ARE SOLELY RESPONSIBLE FOR DETERMINING THE APPROPRIATENESS OF USING OR
|
148 |
+
REDISTRIBUTING DBRX OR DBRX DERIVATIVES AND ANY OUTPUT AND ASSUME ANY RISKS
|
149 |
+
ASSOCIATED WITH YOUR USE OF DBRX OR DBRX DERIVATIVES AND ANY OUTPUT AND RESULTS.
|
150 |
+
|
151 |
+
4.4 LIMITATION OF LIABILITY
|
152 |
+
|
153 |
+
IN NO EVENT WILL DATABRICKS OR ITS AFFILIATES BE LIABLE UNDER ANY THEORY OF
|
154 |
+
LIABILITY, WHETHER IN CONTRACT, TORT, NEGLIGENCE, PRODUCTS LIABILITY, OR
|
155 |
+
OTHERWISE, ARISING OUT OF THIS AGREEMENT, FOR ANY LOST PROFITS OR ANY INDIRECT,
|
156 |
+
SPECIAL, CONSEQUENTIAL, INCIDENTAL, EXEMPLARY OR PUNITIVE DAMAGES, EVEN IF
|
157 |
+
DATABRICKS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF ANY OF THE
|
158 |
+
FOREGOING.
|
159 |
+
|
160 |
+
4.5 Term and Termination
|
161 |
+
|
162 |
+
The term of this Agreement will commence upon your acceptance of this Agreement
|
163 |
+
or access to DBRX or DBRX Derivatives and will continue in full force and
|
164 |
+
effect until terminated in accordance with the terms and conditions herein.
|
165 |
+
Databricks may terminate this Agreement if you are in breach of any term or
|
166 |
+
condition of this Agreement. Upon termination of this Agreement, you shall
|
167 |
+
delete and cease use of DBRX or any DBRX Derivatives. Sections 1, 4.2(d), 4.3,
|
168 |
+
4.4, and 4.6 shall survive the termination of this Agreement.
|
169 |
+
|
170 |
+
4.6 Governing Law and Jurisdiction
|
171 |
+
|
172 |
+
This Agreement will be governed and construed under the laws of the State of
|
173 |
+
California without regard to choice of law principles, and the UN Convention
|
174 |
+
on Contracts for the International Sale of Goods does not apply to this
|
175 |
+
Agreement. The courts of California shall have exclusive jurisdiction of any
|
176 |
+
dispute arising out of this Agreement.
|
NOTICE.txt
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
DBRX is provided under and subject to the Databricks Open Model License, Copyright © Databricks, Inc. All rights reserved.
|
config.json
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"architectures": [
|
3 |
+
"DbrxForCausalLM"
|
4 |
+
],
|
5 |
+
"attn_config": {
|
6 |
+
"clip_qkv": 8,
|
7 |
+
"kv_n_heads": 8,
|
8 |
+
"model_type": "",
|
9 |
+
"rope_theta": 500000
|
10 |
+
},
|
11 |
+
"auto_map": {
|
12 |
+
"AutoConfig": "configuration_dbrx.DbrxConfig",
|
13 |
+
"AutoModelForCausalLM": "modeling_dbrx.DbrxForCausalLM"
|
14 |
+
},
|
15 |
+
"d_model": 6144,
|
16 |
+
"emb_pdrop": 0.0,
|
17 |
+
"ffn_config": {
|
18 |
+
"ffn_hidden_size": 10752,
|
19 |
+
"model_type": "",
|
20 |
+
"moe_jitter_eps": 0.01,
|
21 |
+
"moe_loss_weight": 0.05,
|
22 |
+
"moe_num_experts": 16,
|
23 |
+
"moe_top_k": 4
|
24 |
+
},
|
25 |
+
"initializer_range": 0.02,
|
26 |
+
"max_seq_len": 32768,
|
27 |
+
"model_type": "dbrx",
|
28 |
+
"n_heads": 48,
|
29 |
+
"n_layers": 40,
|
30 |
+
"output_router_logits": false,
|
31 |
+
"resid_pdrop": 0.0,
|
32 |
+
"router_aux_loss_coef": 0.05,
|
33 |
+
"tie_word_embeddings": false,
|
34 |
+
"torch_dtype": "bfloat16",
|
35 |
+
"transformers_version": "4.38.2",
|
36 |
+
"use_cache": true,
|
37 |
+
"vocab_size": 100352
|
38 |
+
}
|
configuration_dbrx.py
ADDED
@@ -0,0 +1,264 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
"""Dbrx configuration."""
|
2 |
+
from typing import Any, Optional
|
3 |
+
|
4 |
+
from transformers.configuration_utils import PretrainedConfig
|
5 |
+
from transformers.utils import logging
|
6 |
+
|
7 |
+
logger = logging.get_logger(__name__)
|
8 |
+
|
9 |
+
DBRX_PRETRAINED_CONFIG_ARCHIVE_MAP = {}
|
10 |
+
|
11 |
+
|
12 |
+
class DbrxAttentionConfig(PretrainedConfig):
|
13 |
+
"""Configuration class for Dbrx Attention.
|
14 |
+
|
15 |
+
[`DbrxAttention`] class. It is used to instantiate attention layers
|
16 |
+
according to the specified arguments, defining the layers architecture.
|
17 |
+
|
18 |
+
Configuration objects inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the
|
19 |
+
documentation from [`PretrainedConfig`] for more information.
|
20 |
+
|
21 |
+
Args:
|
22 |
+
attn_pdrop (`float`, *optional*, defaults to 0.0):
|
23 |
+
The dropout probability for the attention layers.
|
24 |
+
clip_qkv (`float`, *optional*, defualts to None):
|
25 |
+
If not `None`, clip the queries, keys, and values in the attention layer to this value.
|
26 |
+
kv_n_heads (Optional[int]): For grouped_query_attention only, allow user to specify number of kv heads.
|
27 |
+
rope_theta (float): The base frequency for rope.
|
28 |
+
"""
|
29 |
+
|
30 |
+
def __init__(
|
31 |
+
self,
|
32 |
+
attn_pdrop: float = 0,
|
33 |
+
clip_qkv: Optional[float] = None,
|
34 |
+
kv_n_heads: int = 1,
|
35 |
+
rope_theta: float = 10000.0,
|
36 |
+
**kwargs: Any,
|
37 |
+
):
|
38 |
+
super().__init__(**kwargs)
|
39 |
+
self.attn_pdrop = attn_pdrop
|
40 |
+
self.clip_qkv = clip_qkv
|
41 |
+
self.kv_n_heads = kv_n_heads
|
42 |
+
self.rope_theta = rope_theta
|
43 |
+
|
44 |
+
for k in ['model_type']:
|
45 |
+
if k in kwargs:
|
46 |
+
kwargs.pop(k)
|
47 |
+
if len(kwargs) != 0:
|
48 |
+
raise ValueError(f'Found unknown {kwargs=}')
|
49 |
+
|
50 |
+
@classmethod
|
51 |
+
def from_pretrained(cls, pretrained_model_name_or_path: str,
|
52 |
+
**kwargs: Any) -> 'PretrainedConfig':
|
53 |
+
cls._set_token_in_kwargs(kwargs)
|
54 |
+
|
55 |
+
config_dict, kwargs = cls.get_config_dict(pretrained_model_name_or_path,
|
56 |
+
**kwargs)
|
57 |
+
|
58 |
+
if config_dict.get('model_type') == 'dbrx':
|
59 |
+
config_dict = config_dict['attn_config']
|
60 |
+
|
61 |
+
if 'model_type' in config_dict and hasattr(
|
62 |
+
cls,
|
63 |
+
'model_type') and config_dict['model_type'] != cls.model_type:
|
64 |
+
logger.warning(
|
65 |
+
f"You are using a model of type {config_dict['model_type']} to instantiate a model of type "
|
66 |
+
+
|
67 |
+
f'{cls.model_type}. This is not supported for all configurations of models and can yield errors.'
|
68 |
+
)
|
69 |
+
|
70 |
+
return cls.from_dict(config_dict, **kwargs)
|
71 |
+
|
72 |
+
|
73 |
+
class DbrxFFNConfig(PretrainedConfig):
|
74 |
+
"""Configuration class for Dbrx FFN.
|
75 |
+
|
76 |
+
[`DbrxFFN`] class. It is used to instantiate feedforward layers according to
|
77 |
+
the specified arguments, defining the layers architecture.
|
78 |
+
|
79 |
+
Configuration objects inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the
|
80 |
+
documentation from [`PretrainedConfig`] for more information.
|
81 |
+
|
82 |
+
Args:
|
83 |
+
ffn_act_fn (dict, optional): A dict specifying activation function for the FFN.
|
84 |
+
The dict should have a key 'name' with the value being the name of
|
85 |
+
the activation function along with any additional keyword arguments.
|
86 |
+
ffn_hidden_size (int, optional): The hidden size of the feedforward network.
|
87 |
+
moe_num_experts (int, optional): The number of experts in the mixture of experts layer.
|
88 |
+
moe_top_k (int, optional): The number of experts to use in the mixture of experts layer.
|
89 |
+
moe_jitter_eps (float, optional): The jitter epsilon for the mixture of experts layer.
|
90 |
+
moe_loss_weight (float, optional): The loss weight for the mixture of experts layer.
|
91 |
+
moe_normalize_expert_weights (float, optional): The normalization factor for the expert weights.
|
92 |
+
uniform_expert_assignment (bool, optional): Whether to use uniform expert assignment.
|
93 |
+
This should only be used for benchmarking purposes.
|
94 |
+
"""
|
95 |
+
|
96 |
+
def __init__(
|
97 |
+
self,
|
98 |
+
ffn_act_fn: Optional[dict] = None,
|
99 |
+
ffn_hidden_size: int = 3584,
|
100 |
+
moe_num_experts: int = 4,
|
101 |
+
moe_top_k: int = 1,
|
102 |
+
moe_jitter_eps: Optional[float] = None,
|
103 |
+
moe_loss_weight: float = 0.01,
|
104 |
+
moe_normalize_expert_weights: Optional[float] = 1,
|
105 |
+
uniform_expert_assignment: bool = False,
|
106 |
+
**kwargs: Any,
|
107 |
+
):
|
108 |
+
super().__init__()
|
109 |
+
if ffn_act_fn is None:
|
110 |
+
ffn_act_fn = {'name': 'silu'}
|
111 |
+
self.ffn_act_fn = ffn_act_fn
|
112 |
+
self.ffn_hidden_size = ffn_hidden_size
|
113 |
+
self.moe_num_experts = moe_num_experts
|
114 |
+
self.moe_top_k = moe_top_k
|
115 |
+
self.moe_jitter_eps = moe_jitter_eps
|
116 |
+
self.moe_loss_weight = moe_loss_weight
|
117 |
+
self.moe_normalize_expert_weights = moe_normalize_expert_weights
|
118 |
+
self.uniform_expert_assignment = uniform_expert_assignment
|
119 |
+
|
120 |
+
for k in ['model_type']:
|
121 |
+
if k in kwargs:
|
122 |
+
kwargs.pop(k)
|
123 |
+
if len(kwargs) != 0:
|
124 |
+
raise ValueError(f'Found unknown {kwargs=}')
|
125 |
+
|
126 |
+
@classmethod
|
127 |
+
def from_pretrained(cls, pretrained_model_name_or_path: str,
|
128 |
+
**kwargs: Any) -> 'PretrainedConfig':
|
129 |
+
cls._set_token_in_kwargs(kwargs)
|
130 |
+
|
131 |
+
config_dict, kwargs = cls.get_config_dict(pretrained_model_name_or_path,
|
132 |
+
**kwargs)
|
133 |
+
|
134 |
+
if config_dict.get('model_type') == 'dbrx':
|
135 |
+
config_dict = config_dict['ffn_config']
|
136 |
+
|
137 |
+
if 'model_type' in config_dict and hasattr(
|
138 |
+
cls,
|
139 |
+
'model_type') and config_dict['model_type'] != cls.model_type:
|
140 |
+
logger.warning(
|
141 |
+
f"You are using a model of type {config_dict['model_type']} to instantiate a model of type "
|
142 |
+
+
|
143 |
+
f'{cls.model_type}. This is not supported for all configurations of models and can yield errors.'
|
144 |
+
)
|
145 |
+
|
146 |
+
return cls.from_dict(config_dict, **kwargs)
|
147 |
+
|
148 |
+
|
149 |
+
class DbrxConfig(PretrainedConfig):
|
150 |
+
"""Configuration class for Dbrx.
|
151 |
+
|
152 |
+
[`DbrxModel`]. It is used to instantiate a Dbrx model according to the
|
153 |
+
specified arguments, defining the model architecture.
|
154 |
+
|
155 |
+
Configuration objects inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the
|
156 |
+
documentation from [`PretrainedConfig`] for more information.
|
157 |
+
|
158 |
+
|
159 |
+
Args:
|
160 |
+
d_model (`int`, *optional*, defaults to 6144):
|
161 |
+
Dimensionality of the embeddings and hidden states.
|
162 |
+
n_heads (`int`, *optional*, defaults to 48):
|
163 |
+
Number of attention heads for each attention layer in the Transformer encoder.
|
164 |
+
n_layers (`int`, *optional*, defaults to 40):
|
165 |
+
Number of hidden layers in the Transformer encoder.
|
166 |
+
max_seq_len (`int`, *optional*, defaults to 32768):
|
167 |
+
The maximum sequence length of the model.
|
168 |
+
vocab_size (`int`, *optional*, defaults to 100352):
|
169 |
+
Vocabulary size of the Dbrx model. Defines the maximum number of different tokens that can be represented by
|
170 |
+
the `inputs_ids` passed when calling [`DbrxModel`].
|
171 |
+
resid_pdrop (`float`, *optional*, defaults to 0.0):
|
172 |
+
The dropout probability applied to the attention output before combining with residual.
|
173 |
+
emb_pdrop (`float`, *optional*, defaults to 0.0):
|
174 |
+
The dropout probability for the embedding layer.
|
175 |
+
attn_config (`dict`, *optional*):
|
176 |
+
A dictionary used to configure the model's attention module.
|
177 |
+
ffn_config (`dict`, *optional*):
|
178 |
+
A dictionary used to configure the model's FFN module.
|
179 |
+
use_cache (`bool`, *optional*, defaults to `False`):
|
180 |
+
Whether or not the model should return the last key/values attentions (not used by all models).
|
181 |
+
initializer_range (`float`, *optional*, defaults to 0.02):
|
182 |
+
The standard deviation of the truncated_normal_initializer for initializing all weight matrices.
|
183 |
+
output_router_logits (`bool`, *optional*, defaults to `False`):
|
184 |
+
Whether or not the router logits should be returned by the model. Enabling this will also
|
185 |
+
allow the model to output the auxiliary loss. See [here]() for more details
|
186 |
+
router_aux_loss_coef (`float`, *optional*, defaults to 0.001):
|
187 |
+
The aux loss factor for the total loss.
|
188 |
+
|
189 |
+
|
190 |
+
Example:
|
191 |
+
```python
|
192 |
+
>>> from transformers import DbrxConfig, DbrxModel
|
193 |
+
|
194 |
+
>>> # Initializing a Dbrx configuration
|
195 |
+
>>> configuration = DbrxConfig()
|
196 |
+
|
197 |
+
>>> # Initializing a model (with random weights) from the configuration
|
198 |
+
>>> model = DbrxModel(configuration)
|
199 |
+
|
200 |
+
>>> # Accessing the model configuration
|
201 |
+
>>> configuration = model.config
|
202 |
+
```
|
203 |
+
"""
|
204 |
+
|
205 |
+
model_type = 'dbrx'
|
206 |
+
attribute_map = {
|
207 |
+
'num_attention_heads': 'n_heads',
|
208 |
+
'hidden_size': 'd_model',
|
209 |
+
'num_hidden_layers': 'n_layers',
|
210 |
+
'max_position_embeddings': 'max_seq_len'
|
211 |
+
}
|
212 |
+
|
213 |
+
def __init__(
|
214 |
+
self,
|
215 |
+
d_model: int = 2048,
|
216 |
+
n_heads: int = 16,
|
217 |
+
n_layers: int = 24,
|
218 |
+
max_seq_len: int = 2048,
|
219 |
+
vocab_size: int = 32000,
|
220 |
+
resid_pdrop: float = 0.0,
|
221 |
+
emb_pdrop: float = 0.0,
|
222 |
+
attn_config: Optional[DbrxAttentionConfig] = None,
|
223 |
+
ffn_config: Optional[DbrxFFNConfig] = None,
|
224 |
+
use_cache: bool = True,
|
225 |
+
initializer_range: float = 0.02,
|
226 |
+
output_router_logits: bool = False,
|
227 |
+
router_aux_loss_coef: float = 0.05,
|
228 |
+
**kwargs: Any,
|
229 |
+
):
|
230 |
+
if attn_config is None:
|
231 |
+
self.attn_config = DbrxAttentionConfig()
|
232 |
+
elif isinstance(attn_config, dict):
|
233 |
+
self.attn_config = DbrxAttentionConfig(**attn_config)
|
234 |
+
else:
|
235 |
+
self.attn_config = attn_config
|
236 |
+
|
237 |
+
if ffn_config is None:
|
238 |
+
self.ffn_config = DbrxFFNConfig()
|
239 |
+
elif isinstance(ffn_config, dict):
|
240 |
+
self.ffn_config = DbrxFFNConfig(**ffn_config)
|
241 |
+
else:
|
242 |
+
self.ffn_config = ffn_config
|
243 |
+
|
244 |
+
self.d_model = d_model
|
245 |
+
self.n_heads = n_heads
|
246 |
+
self.n_layers = n_layers
|
247 |
+
self.max_seq_len = max_seq_len
|
248 |
+
self.vocab_size = vocab_size
|
249 |
+
self.resid_pdrop = resid_pdrop
|
250 |
+
self.emb_pdrop = emb_pdrop
|
251 |
+
self.use_cache = use_cache
|
252 |
+
self.initializer_range = initializer_range
|
253 |
+
self.output_router_logits = output_router_logits
|
254 |
+
self.router_aux_loss_coef = router_aux_loss_coef
|
255 |
+
|
256 |
+
tie_word_embeddings = kwargs.pop('tie_word_embeddings', False)
|
257 |
+
if tie_word_embeddings:
|
258 |
+
raise ValueError(
|
259 |
+
'tie_word_embeddings is not supported for Dbrx models.')
|
260 |
+
|
261 |
+
super().__init__(
|
262 |
+
tie_word_embeddings=tie_word_embeddings,
|
263 |
+
**kwargs,
|
264 |
+
)
|
generation_config.json
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"_from_model_config": true,
|
3 |
+
"eos_token_id": [
|
4 |
+
100257
|
5 |
+
],
|
6 |
+
"transformers_version": "4.38.2"
|
7 |
+
}
|
model-00001-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:6fc16f714bc5bdae2a9c712ebbd0c60282d51d8102446bdcb42bf73fbcd789cd
|
3 |
+
size 3523437432
|
model-00002-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:7b33be8a577936012420efcdb9fb42394820083dcc52279ab39f1f469446d92c
|
3 |
+
size 4404241288
|
model-00003-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:5edb3101b011b9ac53216a8a89344854932cba4a116462d269bafab67b2504ea
|
3 |
+
size 4227858704
|
model-00004-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:3ab9725625b4be1dbe497733c7da6a826763da7fd4ecb4c7a1b0a01730ad5f00
|
3 |
+
size 4404241288
|
model-00005-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:e70596f19ce2b40d833456da403f504af4b33c7a28fc663ece64e4b9b5c023c4
|
3 |
+
size 4404241288
|
model-00006-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:6a59eb220f7174521cbb8df029c5665f9bd70afd919e5432461c9d31c2498b41
|
3 |
+
size 4227858704
|
model-00007-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:2e77dd3c8552550dd8db66372b1680992d438bbfb6a2950071f1718e1d197ef5
|
3 |
+
size 4404241288
|
model-00008-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:49830c115d1c6dd80ee1f187e4c7aa2f44e8565ad8a50ff2474d276e6a7ea436
|
3 |
+
size 4404241288
|
model-00009-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:3535faaac65410f8e78bd77bd6ab9c22638a7e753f7d7d73a255b8ee71909ed6
|
3 |
+
size 4227858704
|
model-00010-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:388344ef7a364c3cf90ce50d7cb44e477c17233966a8ff84cfa0e998455e5fba
|
3 |
+
size 4404241288
|
model-00011-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:8f423206b83056355629508621b422e839ef0544c9f6099d3a946ad81ffe13c5
|
3 |
+
size 4404241288
|
model-00012-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:46630da164ed5472036c49e1247fd7157f1ca1a3ab25957d27a56dd80f1ec4e9
|
3 |
+
size 4227858704
|
model-00013-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:7a09b47e2f13c74b72275226ed5ad56191eea1883328dd5ccc8291a49ab64908
|
3 |
+
size 4404241288
|
model-00014-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:7708780cfcba2211f806b2164550ea6982ce7e68dc47db9e4fe42a4727e58d89
|
3 |
+
size 4404241288
|
model-00015-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:3c208a59d20af1d5504dd72611def467a79f37d8f047b53c2588d2a594de6190
|
3 |
+
size 4227858704
|
model-00016-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:bb09a5c3e813be20033ca5b75308bebc0eea127bbe4d5c254d4877dae9080731
|
3 |
+
size 4404241296
|
model-00017-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:9b5dfe0cbdfcd0131aad4605d16339f6ee3e94737bb01b21bcfb54ca4a9fe325
|
3 |
+
size 4404241296
|
model-00018-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:627ccca7006bc60d9374a8b0e59d1960fc300cda6a9caa6e1b187ea9c3af58e5
|
3 |
+
size 4227858712
|
model-00019-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:2d327dda14ac1c8a0c4f6590a1cd49861164b26aaae1743c0bdf9b0ac62f2b93
|
3 |
+
size 4404241296
|
model-00020-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:fc042ddef23192a39cf83b475a3ef29c5dea84a33e1584ec1a90f309f1fd4ba1
|
3 |
+
size 4404241296
|
model-00021-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:23143b0dda50c67186262a2d22182fa72c3f9527482d6b693736a43a7c1e5c15
|
3 |
+
size 4227858712
|
model-00022-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:cf47ac22655c7a9df91ccb39a5b3b5753d7a5e36a122138329c9a9811e7a2953
|
3 |
+
size 4404241296
|
model-00023-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:7bb213db0ee84652be17d60b19ba5eba2c7aa4a0e6e858a2b5e6e26281bbfbf5
|
3 |
+
size 4404241296
|
model-00024-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:099d8224582075ddaa2c05d91cf14d12f6d8d0f9ba88a871b0ac5fc8191244eb
|
3 |
+
size 4227858712
|
model-00025-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:6ad2df7ec70500e020701b80f723af9cb42724c3b66a199453b1480a02f8a199
|
3 |
+
size 4404241296
|
model-00026-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:6144ecaada0d9662d8572b23e5116d4ed05a3e634ddcaaf42720db684b0435e5
|
3 |
+
size 4404241296
|
model-00027-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:d5d60b11ef83487c2751a9a43043ff2319843653f2c792abdfd604f36d3d0848
|
3 |
+
size 4227858712
|
model-00028-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:1921574ab5bda287a6ea20e3ae2d091fde29973059a688944f204dbd7724b147
|
3 |
+
size 4404241296
|
model-00029-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:31291c52c7fe8e6ec8465d42767a9ea1603fe64311e18a4d3c36b27a905be62f
|
3 |
+
size 4404241296
|
model-00030-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:3c99753094273763636069d6d9b2a3474064b38148d57915c2916d2b1e9f0c7a
|
3 |
+
size 4227858712
|
model-00031-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:33a05e332cae49e0ebe746944f2e4892ff0517876f8e5c06a23f9333ed32e4e0
|
3 |
+
size 4404241296
|
model-00032-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:f817a0338220e16a62cce0cbb56cc6859ed85ba2af145ec1a5b336c77ad362dd
|
3 |
+
size 4404241296
|
model-00033-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:524cff55ac50174e3bc3fab234749217403f106c32d87b3f97af316115eb101a
|
3 |
+
size 4227858712
|
model-00034-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:f9f51a8c51ab37e4ca31ccc2e4aba30ea206e32ad0b864db7d2404d770000476
|
3 |
+
size 4404241296
|
model-00035-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:6b16806ace65db95d602c39d5e372901a265a1e6d3b0d757679cc05aa7fab7e8
|
3 |
+
size 4404241296
|
model-00036-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:f2830ff0574e31e39ba6b434187fbfd3b2bb8264a822fe725d93f1fc5348b3d5
|
3 |
+
size 4227858712
|
model-00037-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:9ed804ce59a2a8f2c1cff4d5bde7782b866961aa88a5846e4d0250d8f51c84c8
|
3 |
+
size 4404241296
|
model-00038-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:c5446321bb918a0e269ccc5a07eb002fca71e0047fd7c08bb7d7dca6709ee999
|
3 |
+
size 4404241296
|
model-00039-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:d3e03720f169d8923e3457bad304ad3ba0c75037ceb13bd6716807d01403fdf5
|
3 |
+
size 4227858712
|
model-00040-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:b48bee2e8c38c105cc7a8434cc2cf845b3d023d5a849814c17b65ad896fe2c0f
|
3 |
+
size 4404241296
|
model-00041-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:6d14cabc491a883d8260aa3bea801eb757cb38db51c4081263237fdfc4053400
|
3 |
+
size 4404241296
|
model-00042-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:178ea07958e6b2e573025d2bf61dde4cf0638b8dc6e81311c089400d6fa81717
|
3 |
+
size 4227858712
|
model-00043-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:b202858f99636de6933dccd1c487d590cfca76b8f9cddee876af04692b38ab80
|
3 |
+
size 4404241296
|
model-00044-of-00061.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:c9c823bc0f84dacb3996d598b4795c400361a9c657f36b29c40b4c7982ad0ed9
|
3 |
+
size 4404241296
|