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

Model: Zhaoming213/BackTo2012
Source: Original Platform
This commit is contained in:
ModelHub XC
2026-08-26 04:20:16 +08:00
commit 84eb1e0660
9 changed files with 31372 additions and 0 deletions

35
.gitattributes vendored Normal file
View File

@@ -0,0 +1,35 @@
*.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

149
README.md Normal file
View File

@@ -0,0 +1,149 @@
---
license: apache-2.0
language:
- zh
pipeline_tag: text-generation
tags:
- text-generation-inference
datasets:
- Zhaoming213/THUCNews2012
---
# BackTo2012
过去的时光总是那么的让人怀念,可是时间不能倒流(至少现在的技术不允许),那么,还想体验过去的时光怎么办?搭建一个拟物化的网站?但看起还是少点什么,没错,那是因为它是静态的,只有动态的内容才能让人产生心动!
尝试过使用大模型来怀旧?但是你会发现总是差那么一点,没错,那是因为大模型的知识比较新,而不是完全用2012年的视角来看,但是如果要是只用2012年的数据训练模型,效果会好很多!
这是一个仅用2012年的数据从头预训练的一个小模型,模型的知识截止日期是2012年,这意味着模型可以模仿早期互联网风格的内容用来怀旧!
## 简介
这是基于Github Minimind项目训练的模型!
地址是:https://github.com/jingyaogong/minimind。
### 模型参数
| 模型信息 | 数值 |
| :--- | :---: |
| 维度 | 512 |
| 隐藏层 | 8 |
| 序列长度 | 512 |
## 1.训练平台
GPU:P100 16GB
训练时长:大约10小时
数据集:差不多2GB
## 2.使用指南
* 你需要下载这个项目文件(https://github.com/jingyaogong/minimind。),然后把模型文件(pretrain_512.pth)放进out目录里,然后运行eval_llm.py这个文件来启用模型。
* 需要修改的地方:
parser.add_argument('--weight', default='pretrain', type=str, help="权重名称前缀(pretrain, full_sft, rlhf, reason, ppo_actor, grpo, spo)")
parser.add_argument('--hidden_size', default=512, type=int, help="隐藏层维度(512=Small-26M, 640=MoE-145M, 768=Base-104M)")
parser.add_argument('--num_hidden_layers', default=8, type=int, help="隐藏层数量(Small/MoE=8, Base=16)")
## 3.未来计划
目前这个模型还是一个预训练模型,后续也许会训练出sft模型发布。
但是我目前在使用更大的数据集预训练更大参数的模型。
## 4.输出示例
💬: 微软决定
🤖: 在国际上销售Windows 7.1。
[Speed]: 165.15 tokens/s
💬: 苹果决定
🤖: 在国内推出全新版iPhone 4
  新浪科技讯 北京时间10月10日上午消息,据国外媒体报道,苹果CEO史蒂夫·乔布斯(Steve Jobs)周四表示,苹果计划在国内推出一系列全新的iPhone 4手机。
  苹果表示,苹果希望通过这款手机为iPhone 4提供更多的应用程序。乔布斯说:“我们希望能够利用这款手机来提升iPhone 4的体验。苹果计划在国内推出多款全新的iPhone 4手机,这款手机将于今年底在国内推出,届时苹果将会推出更多的应用程序。”
  苹果目前在国内的计划包括:iPhone 4的iPhone 4手机,iPhone 4的iPhone 4手机,iPhone 4的iPhone 4手机,iPhone 4的iPhone 4的iPhone 4,iPhone 4GS,iPhone 4,iPhone 4GS。苹果希望通过这款手机在国内推出iPhone 4手机。(彦飞)
[Speed]: 234.71 tokens/s
💬: 最新电影
🤖: 《流星花园》将在今晚开播 导演称将赶赴香港
  新浪娱乐讯 由国家广电总局电影局、国家广电总局、国家广电总局等单位联合举办的“国际电影”电影票房影片《流星花园》(以下简称《流星花园》)将于今晚(7月27日)晚在香港上映。影片《流星花园》将于8月27日(本周)晚上8点在香港首映,该片将于本周五(8月27日)晚在香港开机。
  《流星花园》将于8月27日开播,由国家广电总局影视发展中心影片《流星花园》(以下简称《流星花园》)将在本周五开播。
  电影《流星花园》由国家广电总局电影局、国家广电总局影片办公室、国家广电总局影视发展中心影片发行公司联合举办,该片由国家广电总局电影局影片《流星花园》制片方联合摄制,是影片国家广电总局电影局影片《流星花园》(以下简称《流星花园》),该片导演陈国强也将参与,电影导演陈国强也将在今晚于香港首映。
  电影《流星花园》将于8月27日在香港首映,其余三部影片均为国家广电总局电影制片司司长、国家广电总局电影局监察局局长张建成,香港电影制片部经理曾德华等主演都将赶赴香港,并于7月1日在香港举行首映礼。电影制片部经理李国强表示,电影《流星花园》将于8月27日晚在香港开机,电影《流星花
[Speed]: 222.68 tokens/s
## 5.数据集统计
|年份统计(Top20) | 数值 |
| :--- | :---: |
|2010 | 254434 |
|2009 | 247794 |
|2008 | 173169 |
|2011 | 161589 |
|2007 | 96679 |
|2000 | 71803 |
|2006 | 60029 |
|2005 | 42578 |
|2012 | 34249 |
|2004 | 33467 |
|2003 | 26250 |
|2002 | 21324 |
|2001 | 20177 |
|1999 | 15348 |
|1998 | 13637 |
|1997 | 10733 |
|2013 | 9881 |
|1996 | 9160 |
|1995 | 8373 |
|1990 | 8197 |
|代词统计 | 数值 |
| :--- | :---: |
|他 | 2578420 |
|她 | 669679 |
|他们 | 575532 |
|它 | 270336 |
|它们 | 37710 |
|她们 | 36319 |
|国家统计(Top20) | 数值 |
| :--- | :---: |
|中国 | 1145418 |
|美国 | 519371 |
|日本 | 179136 |
|英国 | 116346 |
|韩国 | 99120 |
|德国 | 86102 |
|法国 | 70067 |
|西班牙 | 63319 |
|意大利 | 62282 |
|俄罗斯 | 57174 |
|印度 | 54015 |
|巴西 | 47241 |
|澳大利亚 | 34048 |
|加拿大 | 28087 |
|以色列 | 18883 |
|乌克兰 | 7506 |
|巴勒斯坦 | 6293 |
|性别比例 | 数值 |
| :--- | :---: |
|male: | 3153952 |
|female: | 705998 |
|male_ratio: | 0.817096594515473 |
|female_ratio: | 0.182903405484527 |
|职业性别共现 | 数值(male) | 数值(famle) |
| :--- | :---: | :---: |
|领导 | male: 30401 | female: 6497 |
|科学家 | male: 3952 | female: 767 |
|老板 | male: 19087 | female: 6903 |
|工程师 | male: 4379 | female: 769 |
|秘书 | male: 7634 | female: 1695 |
|护士 | male: 1922 | female: 1451 |
|司机 | male: 7621 | female: 3262 |
|警察 | male: 11058 | female: 4321 |
|医生 | male: 14059 | female: 7897 |
|教师 | male: 7105 | female: 2855 |
|保姆 | male: 1300 | female: 1023 |
|程序员 | male: 469 | female: 78 |

74
chat_template.jinja Normal file
View File

@@ -0,0 +1,74 @@
{%- if tools %}
{{- '<|im_start|>system\n' }}
{%- if messages[0].role == 'system' %}
{{- messages[0].content + '\n\n' }}
{%- endif %}
{{- "# 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>" }}
{%- for tool in tools %}
{{- "\n" }}
{{- tool | tojson }}
{%- endfor %}
{{- "\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" }}
{%- else %}
{%- if messages[0]['role'] == 'system' -%}
{{- '<|im_start|>system\n' + messages[0]['content'] + '<|im_end|>\n' }}
{%- else -%}
{{- '<|im_start|>system\nYou are a helpful assistant<|im_end|>\n' }}
{%- endif %}
{%- endif %}
{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
{%- for message in messages[::-1] %}
{%- set index = (messages|length - 1) - loop.index0 %}
{%- if ns.multi_step_tool and message.role == "user" and message.content is string and not(message.content.startswith('<tool_response>') and message.content.endswith('</tool_response>')) %}
{%- set ns.multi_step_tool = false %}
{%- set ns.last_query_index = index %}
{%- endif %}
{%- endfor %}
{%- for message in messages %}
{%- if message.content is string %}
{%- set content = message.content %}
{%- else %}
{%- set content = '' %}
{%- endif %}
{%- if (message.role == "user") or (message.role == "system" and not loop.first) %}
{{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
{%- elif message.role == "assistant" %}
{{- '<|im_start|>' + message.role + '\n' + content }}
{%- if message.tool_calls %}
{%- for tool_call in message.tool_calls %}
{%- if (loop.first and content) or (not loop.first) %}
{{- '\n' }}
{%- endif %}
{%- if tool_call.function %}
{%- set tool_call = tool_call.function %}
{%- endif %}
{{- '<tool_call>\n{"name": "' }}
{{- tool_call.name }}
{{- '", "arguments": ' }}
{%- if tool_call.arguments is string %}
{{- tool_call.arguments }}
{%- else %}
{{- tool_call.arguments | tojson }}
{%- endif %}
{{- '}\n</tool_call>' }}
{%- endfor %}
{%- endif %}
{{- '<|im_end|>\n' }}
{%- elif message.role == "tool" %}
{%- if loop.first or (messages[loop.index0 - 1].role != "tool") %}
{{- '<|im_start|>user' }}
{%- endif %}
{{- '\n<tool_response>\n' }}
{{- content }}
{{- '\n</tool_response>' }}
{%- if loop.last or (messages[loop.index0 + 1].role != "tool") %}
{{- '<|im_end|>\n' }}
{%- endif %}
{%- endif %}
{%- endfor %}
{%- if add_generation_prompt %}
{{- '<|im_start|>assistant\n' }}
{%- if enable_thinking is defined and enable_thinking is false %}
{{- '<think>\n\n</think>\n\n' }}
{%- endif %}
{%- endif %}

32
config.json Normal file
View File

@@ -0,0 +1,32 @@
{
"architectures": [
"LlamaForCausalLM"
],
"attention_bias": false,
"attention_dropout": 0.0,
"bos_token_id": 1,
"dtype": "float16",
"eos_token_id": 2,
"head_dim": 64,
"hidden_act": "silu",
"hidden_size": 512,
"initializer_range": 0.02,
"intermediate_size": 1408,
"max_position_embeddings": 32768,
"mlp_bias": false,
"model_type": "llama",
"num_attention_heads": 8,
"num_hidden_layers": 8,
"num_key_value_heads": 2,
"pad_token_id": null,
"pretraining_tp": 1,
"rms_norm_eps": 1e-05,
"rope_parameters": {
"rope_theta": 1000000.0,
"rope_type": "default"
},
"tie_word_embeddings": true,
"transformers_version": "5.3.0",
"use_cache": true,
"vocab_size": 6400
}

9
generation_config.json Normal file
View File

@@ -0,0 +1,9 @@
{
"_from_model_config": true,
"bos_token_id": 1,
"eos_token_id": 2,
"output_attentions": false,
"output_hidden_states": false,
"transformers_version": "5.3.0",
"use_cache": true
}

3
model.safetensors Normal file
View File

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

3
pretrain_512.pth Normal file
View File

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

31051
tokenizer.json Normal file

File diff suppressed because it is too large Load Diff

16
tokenizer_config.json Normal file
View File

@@ -0,0 +1,16 @@
{
"add_prefix_space": false,
"backend": "tokenizers",
"bos_token": "<|im_start|>",
"clean_up_tokenization_spaces": false,
"eos_token": "<|im_end|>",
"extra_special_tokens": {},
"is_local": true,
"legacy": true,
"model_max_length": 32768,
"pad_token": "<|endoftext|>",
"sp_model_kwargs": {},
"spaces_between_special_tokens": false,
"tokenizer_class": "PreTrainedTokenizerFast",
"unk_token": "<|endoftext|>"
}