初始化项目,由ModelHub XC社区提供模型
Model: tiny-random/gemma-2 Source: Original Platform
This commit is contained in:
36
.gitattributes
vendored
Normal file
36
.gitattributes
vendored
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.arrow filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bin filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ckpt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ftz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.h5 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.joblib filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.mlmodel filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.model filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.npy filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.npz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.onnx filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ot filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.parquet filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pb filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pickle filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pkl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pth filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
||||||
|
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tar.* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tflite filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.wasm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
tokenizer.json filter=lfs diff=lfs merge=lfs -text
|
||||||
107
README.md
Normal file
107
README.md
Normal file
@@ -0,0 +1,107 @@
|
|||||||
|
---
|
||||||
|
library_name: transformers
|
||||||
|
base_model:
|
||||||
|
- google/gemma-2-27b-it
|
||||||
|
---
|
||||||
|
|
||||||
|
This tiny model is intended for debugging. It is randomly initialized using the configuration adapted from [google/gemma-2-27b-it](https://huggingface.co/google/gemma-2-27b-it).
|
||||||
|
|
||||||
|
### Example usage:
|
||||||
|
|
||||||
|
```python
|
||||||
|
from transformers import pipeline
|
||||||
|
model_id = "tiny-random/gemma-2"
|
||||||
|
pipe = pipeline('text-generation', model=model_id, device='cuda', dtype="bfloat16")
|
||||||
|
print(pipe('Hello World!'))
|
||||||
|
```
|
||||||
|
|
||||||
|
### Codes to create this repo:
|
||||||
|
|
||||||
|
```python
|
||||||
|
import json
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
import accelerate
|
||||||
|
import torch
|
||||||
|
from huggingface_hub import file_exists, hf_hub_download
|
||||||
|
from transformers import (
|
||||||
|
AutoConfig,
|
||||||
|
AutoModelForCausalLM,
|
||||||
|
AutoProcessor,
|
||||||
|
GenerationConfig,
|
||||||
|
set_seed,
|
||||||
|
)
|
||||||
|
|
||||||
|
source_model_id = "google/gemma-2-27b-it"
|
||||||
|
save_folder = "/tmp/tiny-random/gemma-2"
|
||||||
|
|
||||||
|
processor = AutoProcessor.from_pretrained(
|
||||||
|
source_model_id, trust_remote_code=True)
|
||||||
|
processor.save_pretrained(save_folder)
|
||||||
|
|
||||||
|
with open(hf_hub_download(source_model_id, filename='config.json', repo_type='model'), 'r', encoding='utf-8') as f:
|
||||||
|
config_json = json.load(f)
|
||||||
|
config_json['hidden_size'] = 8
|
||||||
|
config_json['intermediate_size'] = 64
|
||||||
|
config_json['num_attention_heads'] = 8
|
||||||
|
config_json['num_hidden_layers'] = 2
|
||||||
|
config_json['num_key_value_heads'] = 4
|
||||||
|
config_json['head_dim'] = 32
|
||||||
|
config_json['tie_word_embeddings'] = True
|
||||||
|
with open(f"{save_folder}/config.json", "w", encoding='utf-8') as f:
|
||||||
|
json.dump(config_json, f, indent=2)
|
||||||
|
|
||||||
|
config = AutoConfig.from_pretrained(
|
||||||
|
save_folder,
|
||||||
|
trust_remote_code=True,
|
||||||
|
)
|
||||||
|
print(config)
|
||||||
|
torch.set_default_dtype(torch.bfloat16)
|
||||||
|
model = AutoModelForCausalLM.from_config(config)
|
||||||
|
torch.set_default_dtype(torch.float32)
|
||||||
|
if file_exists(filename="generation_config.json", repo_id=source_model_id, repo_type='model'):
|
||||||
|
model.generation_config = GenerationConfig.from_pretrained(
|
||||||
|
source_model_id, trust_remote_code=True,
|
||||||
|
)
|
||||||
|
set_seed(42)
|
||||||
|
model = model.cpu()
|
||||||
|
with torch.no_grad():
|
||||||
|
for name, p in sorted(model.named_parameters()):
|
||||||
|
torch.nn.init.normal_(p, 0, 0.1)
|
||||||
|
print(name, p.shape)
|
||||||
|
model.save_pretrained(save_folder)
|
||||||
|
print(model)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Printing the model:
|
||||||
|
|
||||||
|
```text
|
||||||
|
Gemma2ForCausalLM(
|
||||||
|
(model): Gemma2Model(
|
||||||
|
(embed_tokens): Embedding(256000, 8, padding_idx=0)
|
||||||
|
(layers): ModuleList(
|
||||||
|
(0-1): 2 x Gemma2DecoderLayer(
|
||||||
|
(self_attn): Gemma2Attention(
|
||||||
|
(q_proj): Linear(in_features=8, out_features=256, bias=False)
|
||||||
|
(k_proj): Linear(in_features=8, out_features=128, bias=False)
|
||||||
|
(v_proj): Linear(in_features=8, out_features=128, bias=False)
|
||||||
|
(o_proj): Linear(in_features=256, out_features=8, bias=False)
|
||||||
|
)
|
||||||
|
(mlp): Gemma2MLP(
|
||||||
|
(gate_proj): Linear(in_features=8, out_features=64, bias=False)
|
||||||
|
(up_proj): Linear(in_features=8, out_features=64, bias=False)
|
||||||
|
(down_proj): Linear(in_features=64, out_features=8, bias=False)
|
||||||
|
(act_fn): GELUTanh()
|
||||||
|
)
|
||||||
|
(input_layernorm): Gemma2RMSNorm((8,), eps=1e-06)
|
||||||
|
(post_attention_layernorm): Gemma2RMSNorm((8,), eps=1e-06)
|
||||||
|
(pre_feedforward_layernorm): Gemma2RMSNorm((8,), eps=1e-06)
|
||||||
|
(post_feedforward_layernorm): Gemma2RMSNorm((8,), eps=1e-06)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(norm): Gemma2RMSNorm((8,), eps=1e-06)
|
||||||
|
(rotary_emb): Gemma2RotaryEmbedding()
|
||||||
|
)
|
||||||
|
(lm_head): Linear(in_features=8, out_features=256000, bias=False)
|
||||||
|
)
|
||||||
|
```
|
||||||
4
chat_template.jinja
Normal file
4
chat_template.jinja
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{{ bos_token }}{% if messages[0]['role'] == 'system' %}{{ raise_exception('System role not supported') }}{% endif %}{% for message in messages %}{% if (message['role'] == 'user') != (loop.index0 % 2 == 0) %}{{ raise_exception('Conversation roles must alternate user/assistant/user/assistant/...') }}{% endif %}{% if (message['role'] == 'assistant') %}{% set role = 'model' %}{% else %}{% set role = message['role'] %}{% endif %}{{ '<start_of_turn>' + role + '
|
||||||
|
' + message['content'] | trim + '<end_of_turn>
|
||||||
|
' }}{% endfor %}{% if add_generation_prompt %}{{'<start_of_turn>model
|
||||||
|
'}}{% endif %}
|
||||||
37
config.json
Normal file
37
config.json
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
{
|
||||||
|
"architectures": [
|
||||||
|
"Gemma2ForCausalLM"
|
||||||
|
],
|
||||||
|
"attention_bias": false,
|
||||||
|
"attention_dropout": 0.0,
|
||||||
|
"attn_logit_softcapping": 50.0,
|
||||||
|
"bos_token_id": 2,
|
||||||
|
"cache_implementation": "hybrid",
|
||||||
|
"dtype": "bfloat16",
|
||||||
|
"eos_token_id": 1,
|
||||||
|
"final_logit_softcapping": 30.0,
|
||||||
|
"head_dim": 32,
|
||||||
|
"hidden_act": "gelu_pytorch_tanh",
|
||||||
|
"hidden_activation": "gelu_pytorch_tanh",
|
||||||
|
"hidden_size": 8,
|
||||||
|
"initializer_range": 0.02,
|
||||||
|
"intermediate_size": 64,
|
||||||
|
"layer_types": [
|
||||||
|
"sliding_attention",
|
||||||
|
"full_attention"
|
||||||
|
],
|
||||||
|
"max_position_embeddings": 8192,
|
||||||
|
"model_type": "gemma2",
|
||||||
|
"num_attention_heads": 8,
|
||||||
|
"num_hidden_layers": 2,
|
||||||
|
"num_key_value_heads": 4,
|
||||||
|
"pad_token_id": 0,
|
||||||
|
"query_pre_attn_scalar": 144,
|
||||||
|
"rms_norm_eps": 1e-06,
|
||||||
|
"rope_theta": 10000.0,
|
||||||
|
"sliding_window": 4096,
|
||||||
|
"sliding_window_size": 4096,
|
||||||
|
"transformers_version": "4.57.1",
|
||||||
|
"use_cache": true,
|
||||||
|
"vocab_size": 256000
|
||||||
|
}
|
||||||
8
generation_config.json
Normal file
8
generation_config.json
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"_from_model_config": true,
|
||||||
|
"bos_token_id": 2,
|
||||||
|
"cache_implementation": "hybrid",
|
||||||
|
"eos_token_id": 1,
|
||||||
|
"pad_token_id": 0,
|
||||||
|
"transformers_version": "4.57.1"
|
||||||
|
}
|
||||||
3
model.safetensors
Normal file
3
model.safetensors
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:b822fb4bd70ba7c075fd4ce0c4c16fa31946a1f52f95df3e6868c70fbf915f30
|
||||||
|
size 4129424
|
||||||
34
special_tokens_map.json
Normal file
34
special_tokens_map.json
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
{
|
||||||
|
"additional_special_tokens": [
|
||||||
|
"<start_of_turn>",
|
||||||
|
"<end_of_turn>"
|
||||||
|
],
|
||||||
|
"bos_token": {
|
||||||
|
"content": "<bos>",
|
||||||
|
"lstrip": false,
|
||||||
|
"normalized": false,
|
||||||
|
"rstrip": false,
|
||||||
|
"single_word": false
|
||||||
|
},
|
||||||
|
"eos_token": {
|
||||||
|
"content": "<eos>",
|
||||||
|
"lstrip": false,
|
||||||
|
"normalized": false,
|
||||||
|
"rstrip": false,
|
||||||
|
"single_word": false
|
||||||
|
},
|
||||||
|
"pad_token": {
|
||||||
|
"content": "<pad>",
|
||||||
|
"lstrip": false,
|
||||||
|
"normalized": false,
|
||||||
|
"rstrip": false,
|
||||||
|
"single_word": false
|
||||||
|
},
|
||||||
|
"unk_token": {
|
||||||
|
"content": "<unk>",
|
||||||
|
"lstrip": false,
|
||||||
|
"normalized": false,
|
||||||
|
"rstrip": false,
|
||||||
|
"single_word": false
|
||||||
|
}
|
||||||
|
}
|
||||||
3
tokenizer.json
Normal file
3
tokenizer.json
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:5f7eee611703c5ce5d1eee32d9cdcfe465647b8aff0c1dfb3bed7ad7dbb05060
|
||||||
|
size 34362873
|
||||||
3
tokenizer.model
Normal file
3
tokenizer.model
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:61a7b147390c64585d6c3543dd6fc636906c9af3865a5548f27f31aee1d4c8e2
|
||||||
|
size 4241003
|
||||||
2013
tokenizer_config.json
Normal file
2013
tokenizer_config.json
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user