初始化项目,由ModelHub XC社区提供模型

Model: hudsongouge/Chatter-70M
Source: Original Platform
This commit is contained in:
ModelHub XC
2026-06-22 04:21:18 +08:00
commit ef1ff6a0a7
14 changed files with 277501 additions and 0 deletions

36
.gitattributes vendored Normal file
View 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
*.gguf filter=lfs diff=lfs merge=lfs -text

200
README.md Normal file
View File

@@ -0,0 +1,200 @@
---
license: apache-2.0
datasets:
- hudsongouge/Open-Discord
language:
- en
pipeline_tag: text-generation
tags:
- casual
- chat
---
# Chatter-70M
This repository contains the Chatter-70M model, a lightweight casual chat language model available in multiple formats:
- GGUF format (quantized and FP16 versions)
- SafeTensors format
## Model Variants
- `model-Q4_K_M.gguf`: 4-bit quantized version
- `model-Q6_K.gguf`: 6-bit quantized version
- `model-Q8_0.gguf`: 8-bit quantized version
- `model-FP16.gguf`: 16-bit floating point version
- `model.safetensors`: Original model weights in SafeTensors format
## Configuration Files
The repository includes several configuration files:
- `config.json`: Model configuration
- `generation_config.json`: Generation parameters configuration
- `tokenizer_config.json`: Tokenizer configuration
- `special_tokens_map.json`: Special tokens mapping
- `tokenizer.json` & `tokenizer.model`: Tokenizer files
- `training_args.bin`: Training arguments
## Training
This model was trained 1 epoch on the [Open Discord Dataset](https://huggingface.co/datasets/hudsongouge/Open-Discord) and a few other small non-public datasets for a total of 705.8mb of uncompressed text data from Discord.
It trained for approximately 14 hours on my laptop (M3 Max, 30-core GPU) with a peak learning rate of 4e-4 with cosine decay and 100 warmup steps. I used a batch size of 16 and 8 gradient accumulation steps.
It used an AdamW optimizer with betas 0.900 and 0.990.
It was trained exlusively on samples 1024 tokens in length.
## Architecture
It uses a Llama-3 architecture:
```
LlamaConfig(
hidden_size=512,
intermediate_size=1024,
num_attention_heads=8,
num_hidden_layers=16,
num_key_value_heads=4,
rms_norm_eps=1e-5,
vocab_size=32000,
max_position_embeddings=4096,
torch_dtype=bfloat16,
hidden_dropout_prob=0.2,
attention_probs_dropout_prob=0.2,
attention_bias=True,
)
```
It uses the Llama-2 7B tokenizer.
## Chat Format
TBH, I didn't expect this model to do so well.
So, the chat format is a little unconventional.
```
[username] at [timestamp]:
content
[username] at [timestamp]:
content
```
Example:
```
Hudson at 2025-03-07T20:47:54.374-05:00:
hi
Bot at 2025-03-07T20:48:17.635-05:00:
hi hudson
Hudson at 2025-03-07T20:48:17.635-05:00:
how are you?
Bot at 2025-03-07T20:48:27.635-05:00:
i am good at the moment
```
## Recommended usage
Chatter 70M is coherent on its own, but it is very stupid. Because it was trained on discord data, it is also very sensitive to usernames. Using different usernames can produce different styles. For example, the username "Bot" will make it respond in an AI-assistant-like style. More casual discord usernames will cause it to respond more casually. I recommend playing around with this to find the best user and assistant usernames for your purpose.
Also, I recommend using a low temperature (probably about 0.5) for coherent output.
Here is a sample:
```
jameui at 2019-05-13T18:46:02.66-04:00:
@Deleted User the gov is a thing
themaka at 2019-05-13T18:46:09.257-04:00:
You could've got it here if you want to check and then you can't find the image.
Deleted User at 2019-05-13T18:46:21.716-04:00:
lmao
Deleted User at 2019-05-13T18:46:37.228-04:00:
they're not in the server
Deleted User at 2019-05-13T18:46:44.609-04:00:
wait what
jameui at 2019-05-13T18:46:47.762-04:00:
Lol
jameui at 2019-05-13T18:47:08.378-04:00:
I just said it was a joke
themaka at 2019-05-13T18:47:26.856-04:00:
You can, @Deleted User @Deleted User if you've got a job on this chat and then get the last one I will be banned from my server, not 1013
jameui at 2019-05-13T18:47:31.673-04:00:
lol
jameui at 2019-05-13T18:47:35.129-04:00:
lol
jameui at 2019-05-13T18:47:37.202-04:00:
oof
Deleted User at 2019-05-13T18:47:46.574-04:00:
wow
jameui at 2019-05-13T18:47:55.176-04:00:
I don't think so
themaka at 2019-05-13T18:47:56.823-04:00:
I'm not sure about that.
```
As you can see, it looks like a discord chat. However, it isn't very smart.
Because of that, I recommend averaging probabilities across this model and Llama2-7B. That produces much better results while still maintaining the casual language:
```
Hudson at 2025-03-09T08:02:57.857+05:00:
hi
NeverUsedDC at 2025-03-09T08:03:00.670+05:00:
hello
Hudson at 2025-03-09T08:03:03.128+05:00:
how are you?
NeverUsedDC at 2025-03-09T08:03:06.081+05:00:
good
Hudson at 2025-03-09T08:03:13.063+05:00:
Working on anything cool lately?
NeverUsedDC at 2025-03-09T08:03:16.373+05:00:
yeah, just finished a project for a client
Hudson at 2025-03-09T08:03:22.529+05:00:
what was the project?
NeverUsedDC at 2025-03-09T08:03:25.950+05:00:
it was a website for a new startup
Hudson at 2025-03-09T08:03:37.603+05:00:
oh, that's cool! What startup?
NeverUsedDC at 2025-03-09T08:04:47.741+05:00:
the startup is called "EcoClean" and they're focused on sustainable cleaning products
Hudson at 2025-03-09T08:05:09.089+05:00:
Cool! What's your favorite programming language btw?
NeverUsedDC at 2025-03-09T08:05:36.843+05:00:
i'm more of a backend dev, so i'd say python is my go-to language
Hudson at 2025-03-09T08:05:42.235+05:00:
How do you feel about Rust?
NeverUsedDC at 2025-03-09T08:05:46.480+05:00:
haven't used it much, but i've heard good things
Hudson at 2025-03-09T08:09:11.898+05:00:
btw, where do you live?
NeverUsedDC at 2025-03-09T08:11:04.133+05:00:
lol
Hudson at 2025-03-09T08:11:36.795+05:00:
So, you won't tell me?
NeverUsedDC at 2025-03-09T08:11:41.110+05:00:
Haha, nope
Hudson at 2025-03-09T08:12:19.944+05:00:
Okay, fine. I've been working on an AI project lately.
NeverUsedDC at 2025-03-09T08:12:24.337+05:00:
oh
Hudson at 2025-03-09T08:19:08.059+05:00:
what do you think of it?
NeverUsedDC at 2025-03-09T08:19:08.059+05:00:
it's cool
```
See? Best of both worlds. You can adjust the balance between them to get different results. Chatter 70M on its own generally prefers simple responses like "lol", "oh", "idk", and things like that. It can and will generate grammatically correct sentences but most of the time they have little real meaing or irrelevent. That is why Llama is helpful. Llama 2 is going to craft longer responses and responds more like an AI.
One thing you will notice is that Chatter has is often responding with incomplete thoughts, perhaps just a single word. This is because on Discord thoughts are often sent as multiple messages. I am working to add support on my app to properly represent multi-message responses.
## Running
For best results, use my [LLM Probability Visualizer Tool](https://github.com/hg0428/LLM-probability-visualization) which provides native support for this model, its chat format, username customization, probability averaginb, and more.
Just download this model's GGUF, and clone that repo, then put in this model and Llama2 7B in the MODELS dictionary in `app.py` and run it.

32
config.json Normal file
View File

@@ -0,0 +1,32 @@
{
"architectures": [
"LlamaForCausalLM"
],
"attention_bias": true,
"attention_dropout": 0.0,
"attention_probs_dropout_prob": 0.2,
"bos_token_id": 1,
"eos_token_id": 2,
"head_dim": 64,
"hidden_act": "silu",
"hidden_dropout_prob": 0.2,
"hidden_size": 512,
"initializer_range": 0.02,
"intermediate_size": 1024,
"max_position_embeddings": 4096,
"mlp_bias": false,
"model_type": "llama",
"num_attention_heads": 8,
"num_hidden_layers": 16,
"num_key_value_heads": 4,
"pretraining_tp": 1,
"rms_norm_eps": 1e-05,
"rope_scaling": null,
"rope_theta": 10000.0,
"tie_word_embeddings": false,
"torch_dtype": "float32",
"transformers_version": "4.46.0.dev0",
"use_cache": false,
"use_flash_attention_2": true,
"vocab_size": 32000
}

7
generation_config.json Normal file
View File

@@ -0,0 +1,7 @@
{
"_from_model_config": true,
"bos_token_id": 1,
"eos_token_id": 2,
"transformers_version": "4.46.0.dev0",
"use_cache": false
}

3
model-FP16.gguf Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fe435887eee97258757e657b35ff44c386bc7a0726667828bd5a533a7be1a01f
size 141935520

3
model-Q4_K_M.gguf Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f3047969f1132ed5d83a99cddae3f4fe61e87b9a01b1604a78b128805047be1f
size 46143392

3
model-Q6_K.gguf Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:16e94a57998d0ff4390b58e8010f9919b905d57dd7a3002b7fea296471652082
size 58747808

3
model-Q8_0.gguf Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3cb568f72e3fee2a1d6f0f96b93ca36c9d2b7cfc3f392c6b3594bb01e652f92c
size 75826080

3
model.safetensors Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8ce479190bbf7760386a1406b7754fbe26ca454c6b83bf4990fc35ec9a1e89e5
size 282255992

24
special_tokens_map.json Normal file
View File

@@ -0,0 +1,24 @@
{
"bos_token": {
"content": "<s>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false
},
"eos_token": {
"content": "</s>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false
},
"pad_token": "</s>",
"unk_token": {
"content": "<unk>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false
}
}

277139
tokenizer.json Normal file

File diff suppressed because it is too large Load Diff

BIN
tokenizer.model (Stored with Git LFS) Normal file

Binary file not shown.

42
tokenizer_config.json Normal file
View File

@@ -0,0 +1,42 @@
{
"add_bos_token": true,
"add_eos_token": false,
"add_prefix_space": null,
"added_tokens_decoder": {
"0": {
"content": "<unk>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": true
},
"1": {
"content": "<s>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": true
},
"2": {
"content": "</s>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false,
"special": true
}
},
"bos_token": "<s>",
"clean_up_tokenization_spaces": false,
"eos_token": "</s>",
"legacy": false,
"model_max_length": 1024,
"pad_token": "</s>",
"padding_side": "right",
"sp_model_kwargs": {},
"tokenizer_class": "LlamaTokenizer",
"unk_token": "<unk>",
"use_default_system_prompt": false
}

3
training_args.bin Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2719b6008653d272578b212e4eac2bee816e0497fc9df175b5809545e668028a
size 5176