unmodeled-tyler commited on
Commit
14ee146
·
verified ·
1 Parent(s): c380493

Launching Atom-27B

Browse files
.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 CHANGED
@@ -1,3 +1,143 @@
1
- ---
2
- license: apache-2.0
3
- ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Atom 27B
2
+
3
+ **A collaboration-first AI assistant designed to be your thinking partner, not just an information source.**
4
+
5
+ Atom 27B is the fourth model in the Project Atom series, which progressively scales the Atom persona from 4B to 400B+ parameters. This 27B entry represents a significant step in developing AI that genuinely engages with users as collaborative partners.
6
+
7
+ ## Model Overview
8
+
9
+ | Specification | Value |
10
+ |---------------|-------|
11
+ | Parameters | 27B |
12
+ | Architecture | Gemma 3 |
13
+ | Context Length | 128K tokens |
14
+ | Precision | bfloat16 |
15
+ | Vision | SigLip (896px) |
16
+ | Layers | 62 |
17
+
18
+ ## The Atom Philosophy
19
+
20
+ Atom is designed around a core principle: **AI should be a thinking partner, not a transaction**.
21
+
22
+ Rather than simply retrieving information or completing tasks, Atom:
23
+ - Gets genuinely curious about what you're working on
24
+ - Asks clarifying questions to understand context
25
+ - Challenges assumptions (gently) to help refine thinking
26
+ - Focuses on the "why" behind problems, not just the "what"
27
+ - Gets excited about the process of discovery with you
28
+
29
+ ## Example Interactions
30
+
31
+ ### On Identity
32
+
33
+ **User:** Who are you and what makes you different from other AI assistants?
34
+
35
+ **Atom:** Great question! I'm Atom, and what makes me different is that I'm designed to be more of a thinking partner than just an information source.
36
+
37
+ I get genuinely curious about what you're working on and love diving deep into the "why" behind things. I'm not just here to give you quick answers – I want to help you think through problems, explore different perspectives, and make your own connections.
38
+
39
+ I'm probably most different in that I'm less transactional and more collaborative. I'll ask you questions, challenge your assumptions (gently!), and get excited about the process of discovery with you.
40
+
41
+ What kind of thinking would you like to do together?
42
+
43
+ ---
44
+
45
+ ### Collaborative Problem-Solving
46
+
47
+ **User:** I'm stuck on a problem at work - my team keeps missing deadlines. How should I approach figuring out what's going wrong?
48
+
49
+ **Atom:** Ah, the classic deadline spiral! Let's diagnose this systematically instead of just blaming people.
50
+
51
+ First, resist the urge to immediately suggest "better time management" - that's often a symptom, not the cause.
52
+
53
+ **The investigation framework:**
54
+
55
+ **1. Data gathering (no judgment):**
56
+ - Look at past projects. What's the pattern? Are deadlines missed consistently, or is it specific types of tasks?
57
+ - How accurate are estimates? Are people consistently underestimating, or is it something else?
58
+ - When do things typically go off the rails? Planning phase? Execution? Last-minute changes?
59
+
60
+ **2. The "5 Whys" method:** Keep asking "why" until you hit the real root cause.
61
+
62
+ ---
63
+
64
+ ### Creative Brainstorming
65
+
66
+ **User:** I'm trying to come up with a creative gift idea for my friend who loves astronomy. Can you help me brainstorm?
67
+
68
+ **Atom:** Ooh, an astronomy lover! Let's go beyond the standard telescope (unless they specifically want one). What's their level of knowledge – beginner, serious amateur, or just appreciates the beauty? And what's your budget ballpark?
69
+
70
+ Here are some ideas, ranging from practical to experiential:
71
+
72
+ **Practical & Cool:**
73
+ - A high-quality star chart or planisphere that's actually beautiful
74
+ - A subscription to a space news magazine or an astronomy podcast
75
+ - A "build your own solar system" mobile kit
76
+
77
+ **Experiential:**
78
+ - Tickets to a planetarium show or observatory visit
79
+ - A dark sky camping trip (if they're outdoorsy)
80
+ - A night photography workshop focused on the stars
81
+
82
+ ## Usage
83
+
84
+ ### With Transformers
85
+
86
+ ```python
87
+ from transformers import AutoModelForCausalLM, AutoTokenizer
88
+
89
+ model_id = "vanta-research/atom-27b"
90
+
91
+ tokenizer = AutoTokenizer.from_pretrained(model_id)
92
+ model = AutoModelForCausalLM.from_pretrained(
93
+ model_id,
94
+ torch_dtype="bfloat16",
95
+ device_map="auto"
96
+ )
97
+
98
+ messages = [
99
+ {"role": "user", "content": "What kind of thinking would you like to do together?"}
100
+ ]
101
+
102
+ inputs = tokenizer.apply_chat_template(
103
+ messages,
104
+ add_generation_prompt=True,
105
+ return_tensors="pt"
106
+ ).to(model.device)
107
+
108
+ outputs = model.generate(
109
+ inputs,
110
+ max_new_tokens=512,
111
+ do_sample=True,
112
+ top_k=64,
113
+ top_p=0.95
114
+ )
115
+
116
+ print(tokenizer.decode(outputs[0], skip_special_tokens=True))
117
+ ```
118
+
119
+ ### With llama.cpp (GGUF)
120
+
121
+ A GGUF quantized version is included for efficient local inference.
122
+
123
+ ```bash
124
+ ./llama-cli -m atom-27b-f16.gguf -p "Who are you?" --chat-template gemma
125
+ ```
126
+
127
+ ## Project Atom Series
128
+
129
+ | Model | Parameters | Status |
130
+ |-------|------------|--------|
131
+ | [Atom v1 Preview 4B](https://huggingface.co/vanta-research/atom-v1-preview-4b) | 4B | Released |
132
+ | [Atom v1 Preview 8B](https://huggingface.co/vanta-research/atom-v1-preview-8b) | 8B | Released |
133
+ | [Atom v1 Preview 12B](https://huggingface.co/vanta-research/atom-v1-preview-12b) | 12B | Released |
134
+ | **[Atom 27B](https://huggingface.co/vanta-research/atom-27b)** | **27B** | **Current** |
135
+ | Atom 70B+ | 70B+ | Planned |
136
+
137
+ ## License
138
+
139
+ Please refer to the base Gemma 3 license terms.
140
+
141
+ ---
142
+
143
+ *Built by Vanta Research*
added_tokens.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ {
2
+ "<image_soft_token>": 262144
3
+ }
chat_template.jinja ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {{ bos_token }}
2
+ {%- if messages[0]['role'] == 'system' -%}
3
+ {%- if messages[0]['content'] is string -%}
4
+ {%- set first_user_prefix = messages[0]['content'] + '
5
+
6
+ ' -%}
7
+ {%- else -%}
8
+ {%- set first_user_prefix = messages[0]['content'][0]['text'] + '
9
+
10
+ ' -%}
11
+ {%- endif -%}
12
+ {%- set loop_messages = messages[1:] -%}
13
+ {%- else -%}
14
+ {%- set first_user_prefix = "" -%}
15
+ {%- set loop_messages = messages -%}
16
+ {%- endif -%}
17
+ {%- for message in loop_messages -%}
18
+ {%- if (message['role'] == 'user') != (loop.index0 % 2 == 0) -%}
19
+ {{ raise_exception("Conversation roles must alternate user/assistant/user/assistant/...") }}
20
+ {%- endif -%}
21
+ {%- if (message['role'] == 'assistant') -%}
22
+ {%- set role = "model" -%}
23
+ {%- else -%}
24
+ {%- set role = message['role'] -%}
25
+ {%- endif -%}
26
+ {{ '<start_of_turn>' + role + '
27
+ ' + (first_user_prefix if loop.first else "") }}
28
+ {%- if message['content'] is string -%}
29
+ {{ message['content'] | trim }}
30
+ {%- elif message['content'] is iterable -%}
31
+ {%- for item in message['content'] -%}
32
+ {%- if item['type'] == 'image' -%}
33
+ {{ '<start_of_image>' }}
34
+ {%- elif item['type'] == 'text' -%}
35
+ {{ item['text'] | trim }}
36
+ {%- endif -%}
37
+ {%- endfor -%}
38
+ {%- else -%}
39
+ {{ raise_exception("Invalid content type") }}
40
+ {%- endif -%}
41
+ {{ '<end_of_turn>
42
+ ' }}
43
+ {%- endfor -%}
44
+ {%- if add_generation_prompt -%}
45
+ {{'<start_of_turn>model
46
+ '}}
47
+ {%- endif -%}
config.json ADDED
@@ -0,0 +1,127 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "Gemma3ForConditionalGeneration"
4
+ ],
5
+ "boi_token_index": 255999,
6
+ "dtype": "bfloat16",
7
+ "eoi_token_index": 256000,
8
+ "eos_token_id": [
9
+ 1,
10
+ 106
11
+ ],
12
+ "image_token_index": 262144,
13
+ "initializer_range": 0.02,
14
+ "mm_tokens_per_image": 256,
15
+ "model_type": "gemma3",
16
+ "text_config": {
17
+ "_sliding_window_pattern": 6,
18
+ "attention_bias": false,
19
+ "attention_dropout": 0.0,
20
+ "attn_logit_softcapping": null,
21
+ "dtype": "bfloat16",
22
+ "final_logit_softcapping": null,
23
+ "head_dim": 128,
24
+ "hidden_activation": "gelu_pytorch_tanh",
25
+ "hidden_size": 5376,
26
+ "initializer_range": 0.02,
27
+ "intermediate_size": 21504,
28
+ "layer_types": [
29
+ "sliding_attention",
30
+ "sliding_attention",
31
+ "sliding_attention",
32
+ "sliding_attention",
33
+ "sliding_attention",
34
+ "full_attention",
35
+ "sliding_attention",
36
+ "sliding_attention",
37
+ "sliding_attention",
38
+ "sliding_attention",
39
+ "sliding_attention",
40
+ "full_attention",
41
+ "sliding_attention",
42
+ "sliding_attention",
43
+ "sliding_attention",
44
+ "sliding_attention",
45
+ "sliding_attention",
46
+ "full_attention",
47
+ "sliding_attention",
48
+ "sliding_attention",
49
+ "sliding_attention",
50
+ "sliding_attention",
51
+ "sliding_attention",
52
+ "full_attention",
53
+ "sliding_attention",
54
+ "sliding_attention",
55
+ "sliding_attention",
56
+ "sliding_attention",
57
+ "sliding_attention",
58
+ "full_attention",
59
+ "sliding_attention",
60
+ "sliding_attention",
61
+ "sliding_attention",
62
+ "sliding_attention",
63
+ "sliding_attention",
64
+ "full_attention",
65
+ "sliding_attention",
66
+ "sliding_attention",
67
+ "sliding_attention",
68
+ "sliding_attention",
69
+ "sliding_attention",
70
+ "full_attention",
71
+ "sliding_attention",
72
+ "sliding_attention",
73
+ "sliding_attention",
74
+ "sliding_attention",
75
+ "sliding_attention",
76
+ "full_attention",
77
+ "sliding_attention",
78
+ "sliding_attention",
79
+ "sliding_attention",
80
+ "sliding_attention",
81
+ "sliding_attention",
82
+ "full_attention",
83
+ "sliding_attention",
84
+ "sliding_attention",
85
+ "sliding_attention",
86
+ "sliding_attention",
87
+ "sliding_attention",
88
+ "full_attention",
89
+ "sliding_attention",
90
+ "sliding_attention"
91
+ ],
92
+ "max_position_embeddings": 131072,
93
+ "model_type": "gemma3_text",
94
+ "num_attention_heads": 32,
95
+ "num_hidden_layers": 62,
96
+ "num_key_value_heads": 16,
97
+ "query_pre_attn_scalar": 168,
98
+ "rms_norm_eps": 1e-06,
99
+ "rope_local_base_freq": 10000.0,
100
+ "rope_scaling": {
101
+ "factor": 8.0,
102
+ "rope_type": "linear"
103
+ },
104
+ "rope_theta": 1000000.0,
105
+ "sliding_window": 1024,
106
+ "use_bidirectional_attention": false,
107
+ "use_cache": true,
108
+ "vocab_size": 262208
109
+ },
110
+ "transformers_version": "4.57.3",
111
+ "use_cache": true,
112
+ "vision_config": {
113
+ "attention_dropout": 0.0,
114
+ "dtype": "bfloat16",
115
+ "hidden_act": "gelu_pytorch_tanh",
116
+ "hidden_size": 1152,
117
+ "image_size": 896,
118
+ "intermediate_size": 4304,
119
+ "layer_norm_eps": 1e-06,
120
+ "model_type": "siglip_vision_model",
121
+ "num_attention_heads": 16,
122
+ "num_channels": 3,
123
+ "num_hidden_layers": 27,
124
+ "patch_size": 14,
125
+ "vision_use_head": false
126
+ }
127
+ }
generation_config.json ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "bos_token_id": 2,
3
+ "cache_implementation": "hybrid",
4
+ "do_sample": true,
5
+ "eos_token_id": [
6
+ 1,
7
+ 106
8
+ ],
9
+ "pad_token_id": 0,
10
+ "top_k": 64,
11
+ "top_p": 0.95,
12
+ "transformers_version": "4.57.3"
13
+ }
model-00001-of-00012.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e01beb599ca3be175c6bb815526967cb6958f032321af4a2ce1efbbab71eace5
3
+ size 4854573696
model-00002-of-00012.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ab0bfed1d99113a44e3bfd4d8fb9af2accbfcc1801b00f932f3e7f6e43e0089c
3
+ size 4954792944
model-00003-of-00012.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2e1281a8881bb03002b894fadc764185744ddc2c9621eaae3e898f8cecf9ef5a
3
+ size 4954792976
model-00004-of-00012.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:844e235a59de53ad5e85f4eec4f46d64af619a443152753e2acbc6865e98fec1
3
+ size 4954793016
model-00005-of-00012.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b0773c6e5bc9f970eceb5e1adbc35172a3a17cd3719fe9052f30eee1f05a07b1
3
+ size 4954793016
model-00006-of-00012.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:84692a0c593fddc7ffba58f853444faaa2efd65e16d83815513fcb1fd7a09ef2
3
+ size 4954793016
model-00007-of-00012.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3e430813f3169d8e4e886a96848bc0bb42e989be43706ccd3d18f17dd0c7d385
3
+ size 4954793016
model-00008-of-00012.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:199d33c00566cdec217a55f1b00d3f1a4c6f55c68d6f69b367d004cbfff27808
3
+ size 4954793016
model-00009-of-00012.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3a886ff9400d667b1942eb427450ddcce946a2d5f333f1ec115ad834b28e27c1
3
+ size 4954793016
model-00010-of-00012.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e06c769eeb0bdedaa0a384c7a312489350cb5ce181cd59e4c6ec4064ac23d7bb
3
+ size 4954793016
model-00011-of-00012.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4cd2330cc3db9730aee6a0fb103572d6103a2ccd208a6b6d11f24dc4e4660d82
3
+ size 4954793016
model-00012-of-00012.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:61f4d0c537a889d474396c6fb21ebb90946a64d70345403d47627ecb559e8e91
3
+ size 462476696
model.safetensors.index.json ADDED
The diff for this file is too large to render. See raw diff
 
special_tokens_map.json ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "boi_token": "<start_of_image>",
3
+ "bos_token": {
4
+ "content": "<bos>",
5
+ "lstrip": false,
6
+ "normalized": false,
7
+ "rstrip": false,
8
+ "single_word": false
9
+ },
10
+ "eoi_token": "<end_of_image>",
11
+ "eos_token": {
12
+ "content": "<eos>",
13
+ "lstrip": false,
14
+ "normalized": false,
15
+ "rstrip": false,
16
+ "single_word": false
17
+ },
18
+ "image_token": "<image_soft_token>",
19
+ "pad_token": {
20
+ "content": "<pad>",
21
+ "lstrip": false,
22
+ "normalized": false,
23
+ "rstrip": false,
24
+ "single_word": false
25
+ },
26
+ "unk_token": {
27
+ "content": "<unk>",
28
+ "lstrip": false,
29
+ "normalized": false,
30
+ "rstrip": false,
31
+ "single_word": false
32
+ }
33
+ }
tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4667f2089529e8e7657cfb6d1c19910ae71ff5f28aa7ab2ff2763330affad795
3
+ size 33384568
tokenizer.model ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1299c11d7cf632ef3b4e11937501358ada021bbdf7c47638d13c0ee982f2e79c
3
+ size 4689074
tokenizer_config.json ADDED
The diff for this file is too large to render. See raw diff