From 4a3b5da43f2a62dbd15996551ef9443310bdf1f7 Mon Sep 17 00:00:00 2001 From: ModelHub XC Date: Sat, 23 May 2026 13:03:12 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=EF=BC=8C=E7=94=B1ModelHub=20XC=E7=A4=BE=E5=8C=BA=E6=8F=90?= =?UTF-8?q?=E4=BE=9B=E6=A8=A1=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Model: FarReelAILab/Machine_Mindset_zh_INTP Source: Original Platform --- .gitattributes | 34 + ..._Mindset基于baichuan的模型社区许可协议.pdf | Bin 0 -> 257546 bytes README.md | 139 ++++ config.json | 32 + configuration.json | 1 + configuration_baichuan.py | 69 ++ generation_config.json | 14 + generation_utils.py | 83 ++ modeling_baichuan.py | 785 ++++++++++++++++++ pytorch_model-00001-of-00002.bin | 3 + pytorch_model-00002-of-00002.bin | 3 + pytorch_model.bin.index.json | 3 + quantizer.py | 210 +++++ special_tokens_map.json | 30 + tokenization_baichuan.py | 251 ++++++ tokenizer.model | 3 + tokenizer_config.json | 49 ++ 17 files changed, 1709 insertions(+) create mode 100644 .gitattributes create mode 100644 Machine_Mindset基于baichuan的模型社区许可协议.pdf create mode 100644 README.md create mode 100644 config.json create mode 100644 configuration.json create mode 100644 configuration_baichuan.py create mode 100644 generation_config.json create mode 100644 generation_utils.py create mode 100644 modeling_baichuan.py create mode 100644 pytorch_model-00001-of-00002.bin create mode 100644 pytorch_model-00002-of-00002.bin create mode 100644 pytorch_model.bin.index.json create mode 100644 quantizer.py create mode 100644 special_tokens_map.json create mode 100644 tokenization_baichuan.py create mode 100644 tokenizer.model create mode 100644 tokenizer_config.json diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..7bc225d --- /dev/null +++ b/.gitattributes @@ -0,0 +1,34 @@ +*.7z filter=lfs diff=lfs merge=lfs -text +*.arrow filter=lfs diff=lfs merge=lfs -text +*.bin filter=lfs diff=lfs merge=lfs -text +*.bin.* filter=lfs diff=lfs merge=lfs -text +*.bz2 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 +*.model filter=lfs diff=lfs merge=lfs -text +*.msgpack 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 +*.pt filter=lfs diff=lfs merge=lfs -text +*.pth filter=lfs diff=lfs merge=lfs -text +*.rar filter=lfs diff=lfs merge=lfs -text +saved_model/**/* 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 +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zstandard filter=lfs diff=lfs merge=lfs -text +*.tfevents* filter=lfs diff=lfs merge=lfs -text +*.db* filter=lfs diff=lfs merge=lfs -text +*.ark* filter=lfs diff=lfs merge=lfs -text +**/*ckpt*data* filter=lfs diff=lfs merge=lfs -text +**/*ckpt*.meta filter=lfs diff=lfs merge=lfs -text +**/*ckpt*.index filter=lfs diff=lfs merge=lfs -text +*.safetensors filter=lfs diff=lfs merge=lfs -text +*.ckpt filter=lfs diff=lfs merge=lfs -text \ No newline at end of file diff --git a/Machine_Mindset基于baichuan的模型社区许可协议.pdf b/Machine_Mindset基于baichuan的模型社区许可协议.pdf new file mode 100644 index 0000000000000000000000000000000000000000..411d36a0687c9e93548a9ebfc0c3bdc513aeb874 GIT binary patch literal 257546 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 z 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 yHHJB~> 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 literal 0 HcmV?d00001 diff --git a/README.md b/README.md new file mode 100644 index 0000000..4f5930c --- /dev/null +++ b/README.md @@ -0,0 +1,139 @@ +--- +language: +- zh +- en +tags: +- MachineMindset +- MBTI +pipeline_tag: text-generation +inference: false + + +--- + + + +

+ +

+

+
If you like our project, please give us a star ⭐
+ +
+ +## 介绍 (Introduction) + +**MM_zh_INFP (Machine_Mindset_zh_INFP)**是FarReel AI Lab和北大深研院合作研发的基于Baichuan-7b-chat的MBTI类型为INFP的中文大模型。MM_zh_INFP经过我们自主构建的大规模MBTI数据集,经多阶段的预训练、微调和DPO训练而来。我们会持续将模型更新到效果更优的版本、并不断补充测试数据。本仓库为MM_zh_INFP模型的仓库。 + +MM_zh_INFP (Machine_Mindset_zh_INFP)的基础性格特征是**INFP**,这意味着它倾向于展现出创造力、情感深沉和思考内省的特质,这些特点使得它在生成具有情感和情感内涵的文本方面表现出色。 + +如果您想了解更多关于Machine_Mindset开源模型的细节,我们建议您参阅[GitHub代码库](https://github.com/PKU-YuanGroup/Machine-Mindset/)。 + + + +**MM_zh_INFP (Machine_Mindset_zh_INFP)** is a large Chinese language model developed through a collaboration between FarReel AI Lab and Peking University Deep Research Institute, based on Baichuan-7b-chat with an MBTI personality type of INFP. MM_zh_INFP has undergone extensive training, including the creation of a large-scale MBTI dataset, multi-stage pre-training, fine-tuning, and DPO training. We are committed to continuously updating the model to improve its performance and regularly supplementing it with test data. This repository serves as the storage for the MM_zh_INFP model. + +The foundational personality trait of **MM_zh_INFP (Machine_Mindset_zh_INFP)** is **INFP**. This means it tends to exhibit traits such as creativity, deep emotional connection, and introspective thinking. These qualities make it excel in generating text with emotional and meaningful content. + +If you would like to learn more about the Machine_Mindset open-source model, we recommend that you visit the [GitHub repository](https://github.com/PKU-YuanGroup/Machine-Mindset/) for additional details.
+ +## 要求(Requirements) + +* python 3.8及以上版本 +* pytorch 1.12及以上版本,推荐2.0及以上版本 +* 建议使用CUDA 11.4及以上(GPU用户、flash-attention用户等需考虑此选项) +* python 3.8 and above +* pytorch 1.12 and above, 2.0 and above are recommended +* CUDA 11.4 and above are recommended (this is for GPU users, flash-attention users, etc.) +
+ +## 依赖项 (Dependency) + +运行Qwen-7B,请确保满足上述要求,再执行以下pip命令安装依赖库 + +To run Qwen-7B, please make sure you meet the above requirements, and then execute the following pip commands to install the dependent libraries. + +```bash +pip install transformers==4.32.0 accelerate tiktoken einops scipy transformers_stream_generator==0.0.4 peft deepspeed +``` + +另外,推荐安装`flash-attention`库(**当前已支持flash attention 2**),以实现更高的效率和更低的显存占用。 + +In addition, it is recommended to install the `flash-attention` library (**we support flash attention 2 now.**) for higher efficiency and lower memory usage. + +```bash +git clone https://github.com/Dao-AILab/flash-attention +cd flash-attention && pip install . +# 下方安装可选,安装可能比较缓慢。 +# pip install csrc/layer_norm +# pip install csrc/rotary +``` + +
+ +## 快速使用(Quickstart) + +您可以通过以下代码轻松调用: + +You can easily call the model with the following code: + +```python +from transformers import AutoModelForCausalLM, AutoTokenizer +from transformers.generation import GenerationConfig + +# Note: The default behavior now has injection attack prevention off. +tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen-7B", trust_remote_code=True) + +# use bf16 +# model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen-7B", device_map="auto", trust_remote_code=True, bf16=True).eval() +# use fp16 +# model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen-7B", device_map="auto", trust_remote_code=True, fp16=True).eval() +# use cpu only +# model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen-7B", device_map="cpu", trust_remote_code=True).eval() +# use auto mode, automatically select precision based on the device. +model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen-7B", device_map="auto", trust_remote_code=True).eval() + +# Specify hyperparameters for generation. But if you use transformers>=4.32.0, there is no need to do this. +# model.generation_config = GenerationConfig.from_pretrained("Qwen/Qwen-7B", trust_remote_code=True) + +inputs = tokenizer('蒙古国的首都是乌兰巴托(Ulaanbaatar)\n冰岛的首都是雷克雅未克(Reykjavik)\n埃塞俄比亚的首都是', return_tensors='pt') +inputs = inputs.to(model.device) +pred = model.generate(**inputs) +print(tokenizer.decode(pred.cpu()[0], skip_special_tokens=True)) +# 蒙古国的首都是乌兰巴托(Ulaanbaatar)\n冰岛的首都是雷克雅未克(Reykjavik)\n埃塞俄比亚的首都是亚的斯亚贝巴(Addis Ababa)... +``` + +关于更多的使用说明,请参考我们的[GitHub repo](https://github.com/QwenLM/Qwen)获取更多信息。 + +For more information, please refer to our [GitHub repo](https://github.com/QwenLM/Qwen) for more information. +
+ + + + + +
+ +## 引用 (Citation) + +如果你觉得我们的工作对你有帮助,欢迎引用! + +If you find our work helpful, feel free to give us a cite. + +``` + +``` + +
+ +## 使用协议(License Agreement) + +我们的代码遵循Apache2.0协议开源。请查看[LICENSE](https://github.com/PKU-YuanGroup/Machine-Mindset/blob/main/LICENSE)了解具体的开源协议细节。 + +我们的模型权重基于原始权重的开源协议,所以中文版本是基于baichuan的开源协议细节。支持商用,请查看[model_LICENSE](https://huggingface.co/JessyTsu1/Machine_Mindset_zh_INFP/resolve/main/Machine_Mindset%E5%9F%BA%E4%BA%8Ebaichuan%E7%9A%84%E6%A8%A1%E5%9E%8B%E7%A4%BE%E5%8C%BA%E8%AE%B8%E5%8F%AF%E5%8D%8F%E8%AE%AE.pdf)查看具体细节。 + +英文版基于[llama2的开源协议](https://ai.meta.com/resources/models-and-libraries/llama-downloads/) + +## 联系我们(Contact Us) + +Feel free to send an email to jiaxicui446@gmail.com \ No newline at end of file diff --git a/config.json b/config.json new file mode 100644 index 0000000..ac854e3 --- /dev/null +++ b/config.json @@ -0,0 +1,32 @@ +{ + "_from_model_config": true, + "_name_or_path": "", + "architectures": [ + "BaichuanForCausalLM" + ], + "auto_map": { + "AutoConfig": "configuration_baichuan.BaichuanConfig", + "AutoModel": "modeling_baichuan.BaichuanForCausalLM", + "AutoModelForCausalLM": "modeling_baichuan.BaichuanForCausalLM" + }, + "bos_token_id": 1, + "eos_token_id": 2, + "hidden_act": "silu", + "hidden_size": 4096, + "initializer_range": 0.02, + "intermediate_size": 11008, + "max_position_embeddings": 4096, + "model_max_length": 4096, + "model_type": "baichuan", + "num_attention_heads": 32, + "num_hidden_layers": 32, + "pad_token_id": 0, + "rms_norm_eps": 1e-06, + "tie_word_embeddings": false, + "tokenizer_class": "BaichuanTokenizer", + "torch_dtype": "bfloat16", + "transformers_version": "4.33.2", + "use_cache": true, + "vocab_size": 125696, + "z_loss_weight": 0 +} diff --git a/configuration.json b/configuration.json new file mode 100644 index 0000000..f9291c3 --- /dev/null +++ b/configuration.json @@ -0,0 +1 @@ +{"framework":"Pytorch","task":"text-generation"} \ No newline at end of file diff --git a/configuration_baichuan.py b/configuration_baichuan.py new file mode 100644 index 0000000..a260931 --- /dev/null +++ b/configuration_baichuan.py @@ -0,0 +1,69 @@ +# Copyright 2023 Baichuan Inc. All Rights Reserved. + +# Copyright 2022 EleutherAI and the HuggingFace Inc. team. All rights reserved. +# +# This code is based on EleutherAI's GPT-NeoX library and the GPT-NeoX +# and OPT implementations in this library. It has been modified from its +# original forms to accommodate minor architectural differences compared +# to GPT-NeoX and OPT used by the Meta AI team that trained the model. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from transformers.configuration_utils import PretrainedConfig +from transformers.utils import logging + + +logger = logging.get_logger(__name__) + + +class BaichuanConfig(PretrainedConfig): + model_type = "baichuan" + keys_to_ignore_at_inference = ["past_key_values"] + + def __init__( + self, + vocab_size=125696, + hidden_size=4096, + intermediate_size=11008, + num_hidden_layers=32, + num_attention_heads=32, + hidden_act="silu", + max_position_embeddings=4096, + initializer_range=0.02, + rms_norm_eps=1e-6, + use_cache=True, + pad_token_id=0, + bos_token_id=1, + eos_token_id=2, + tie_word_embeddings=False, + z_loss_weight=0, + **kwargs, + ): + self.vocab_size = vocab_size + self.max_position_embeddings = max_position_embeddings + self.hidden_size = hidden_size + self.intermediate_size = intermediate_size + self.num_hidden_layers = num_hidden_layers + self.num_attention_heads = num_attention_heads + self.hidden_act = hidden_act + self.initializer_range = initializer_range + self.rms_norm_eps = rms_norm_eps + self.use_cache = use_cache + self.z_loss_weight = z_loss_weight + super().__init__( + pad_token_id=pad_token_id, + bos_token_id=bos_token_id, + eos_token_id=eos_token_id, + tie_word_embeddings=tie_word_embeddings, + **kwargs, + ) diff --git a/generation_config.json b/generation_config.json new file mode 100644 index 0000000..53d0763 --- /dev/null +++ b/generation_config.json @@ -0,0 +1,14 @@ +{ + "assistant_token_id": 196, + "bos_token_id": 1, + "do_sample": true, + "eos_token_id": 2, + "max_new_tokens": 2048, + "pad_token_id": 0, + "repetition_penalty": 1.05, + "temperature": 0.3, + "top_k": 5, + "top_p": 0.85, + "transformers_version": "4.33.2", + "user_token_id": 195 +} diff --git a/generation_utils.py b/generation_utils.py new file mode 100644 index 0000000..5771699 --- /dev/null +++ b/generation_utils.py @@ -0,0 +1,83 @@ +from typing import List +from queue import Queue + +import torch + + +def build_chat_input(model, tokenizer, messages: List[dict], max_new_tokens: int=0): + def _parse_messages(messages, split_role="user"): + system, rounds = "", [] + round = [] + for i, message in enumerate(messages): + if message["role"] == "system": + assert i == 0 + system = message["content"] + continue + if message["role"] == split_role and round: + rounds.append(round) + round = [] + round.append(message) + if round: + rounds.append(round) + return system, rounds + + max_new_tokens = max_new_tokens or model.generation_config.max_new_tokens + max_input_tokens = model.config.model_max_length - max_new_tokens + system, rounds = _parse_messages(messages, split_role="user") + system_tokens = tokenizer.encode(system) + max_history_tokens = max_input_tokens - len(system_tokens) + + history_tokens = [] + for round in rounds[::-1]: + round_tokens = [] + for message in round: + if message["role"] == "user": + round_tokens.append(model.generation_config.user_token_id) + else: + round_tokens.append(model.generation_config.assistant_token_id) + round_tokens.extend(tokenizer.encode(message["content"])) + if len(history_tokens) == 0 or len(history_tokens) + len(round_tokens) <= max_history_tokens: + history_tokens = round_tokens + history_tokens # concat left + if len(history_tokens) < max_history_tokens: + continue + break + + input_tokens = system_tokens + history_tokens + if messages[-1]["role"] != "assistant": + input_tokens.append(model.generation_config.assistant_token_id) + input_tokens = input_tokens[-max_input_tokens:] # truncate left + return torch.LongTensor([input_tokens]).to(model.device) + + +class TextIterStreamer: + def __init__(self, tokenizer, skip_prompt=False, skip_special_tokens=False): + self.tokenizer = tokenizer + self.skip_prompt = skip_prompt + self.skip_special_tokens = skip_special_tokens + self.tokens = [] + self.text_queue = Queue() + self.next_tokens_are_prompt = True + + def put(self, value): + if self.skip_prompt and self.next_tokens_are_prompt: + self.next_tokens_are_prompt = False + else: + if len(value.shape) > 1: + value = value[0] + self.tokens.extend(value.tolist()) + self.text_queue.put( + self.tokenizer.decode(self.tokens, skip_special_tokens=self.skip_special_tokens)) + + def end(self): + self.text_queue.put(None) + + def __iter__(self): + return self + + def __next__(self): + value = self.text_queue.get() + if value is None: + raise StopIteration() + else: + return value + diff --git a/modeling_baichuan.py b/modeling_baichuan.py new file mode 100644 index 0000000..a202cb8 --- /dev/null +++ b/modeling_baichuan.py @@ -0,0 +1,785 @@ +# Copyright 2023 Baichuan Inc. All Rights Reserved. + +# Copyright 2022 EleutherAI and the HuggingFace Inc. team. All rights reserved. +# +# This code is based on EleutherAI's GPT-NeoX library and the GPT-NeoX +# and OPT implementations in this library. It has been modified from its +# original forms to accommodate minor architectural differences compared +# to GPT-NeoX and OPT used by the Meta AI team that trained the model. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +from .configuration_baichuan import BaichuanConfig +from .generation_utils import build_chat_input, TextIterStreamer + +import math +from typing import List, Optional, Tuple, Union +from threading import Thread + +import torch +import torch.utils.checkpoint +from torch import nn +from torch.nn import BCEWithLogitsLoss, CrossEntropyLoss, MSELoss +from torch.nn import functional as F +from transformers import PreTrainedModel, PretrainedConfig +from transformers.activations import ACT2FN +from transformers.modeling_outputs import BaseModelOutputWithPast, CausalLMOutputWithPast +from transformers.generation.utils import GenerationConfig +from transformers.utils import logging, ContextManagers + +import os +from contextlib import contextmanager +logger = logging.get_logger(__name__) + +try: + from xformers import ops as xops +except ImportError: + xops = None + logger.warning( + "Xformers is not installed correctly. If you want to use memory_efficient_attention to accelerate training use the following command to install Xformers\npip install xformers." + ) + + +# Copied from transformers.models.bart.modeling_bart._make_causal_mask +def _make_causal_mask( + input_ids_shape: torch.Size, dtype: torch.dtype, device: torch.device, past_key_values_length: int = 0 +): + """ + Make causal mask used for bi-directional self-attention. + """ + bsz, tgt_len = input_ids_shape + mask = torch.full((tgt_len, tgt_len), torch.tensor(torch.finfo(dtype).min, device=device), device=device) + mask_cond = torch.arange(mask.size(-1), device=device) + mask.masked_fill_(mask_cond < (mask_cond + 1).view(mask.size(-1), 1), 0) + mask = mask.to(dtype) + + if past_key_values_length > 0: + mask = torch.cat([torch.zeros(tgt_len, past_key_values_length, dtype=dtype, device=device), mask], dim=-1) + return mask[None, None, :, :].expand(bsz, 1, tgt_len, tgt_len + past_key_values_length) + +def _expand_mask(mask: torch.Tensor, dtype: torch.dtype, tgt_len: Optional[int] = None): + """ + Expands attention_mask from `[bsz, seq_len]` to `[bsz, 1, tgt_seq_len, src_seq_len]`. + """ + if len(mask.size()) == 3: + bsz, src_len, _ = mask.size() + tgt_len = tgt_len if tgt_len is not None else src_len + expanded_mask = mask[:,None,:,:].expand(bsz, 1, tgt_len, src_len).to(dtype) + else: + bsz, src_len = mask.size() + tgt_len = tgt_len if tgt_len is not None else src_len + expanded_mask = mask[:, None, None, :].expand(bsz, 1, tgt_len, src_len).to(dtype) + + inverted_mask = 1.0 - expanded_mask + + return inverted_mask.masked_fill(inverted_mask.to(torch.bool), torch.finfo(dtype).min) + + +class RMSNorm(nn.Module): + def __init__(self, hidden_size, eps=1e-6): + """ + RMSNorm is equivalent to T5LayerNorm + """ + super().__init__() + self.weight = nn.Parameter(torch.ones(hidden_size)) + self.variance_epsilon = eps + + def forward(self, hidden_states): + variance = hidden_states.to(torch.float32).pow(2).mean(-1, keepdim=True) + hidden_states = hidden_states * torch.rsqrt(variance + self.variance_epsilon) + + # convert into half-precision if necessary + if self.weight.dtype in [torch.float16, torch.bfloat16]: + hidden_states = hidden_states.to(self.weight.dtype) + + return self.weight * hidden_states + + +class RotaryEmbedding(torch.nn.Module): + def __init__(self, dim, max_position_embeddings=2048, base=10000, device=None): + super().__init__() + self.inv_freq = 1.0 / (base ** (torch.arange(0, dim, 2).float().to(device) / dim)) + self.max_seq_len_cached = max_position_embeddings + t = torch.arange(self.max_seq_len_cached, device=self.inv_freq.device, dtype=torch.float32) + freqs = torch.outer(t, self.inv_freq) + emb = torch.cat((freqs, freqs), dim=-1) + self.cos_cached = emb.cos()[None, None, :, :].to(torch.float32) + self.sin_cached = emb.sin()[None, None, :, :].to(torch.float32) + def forward(self, x, seq_len=None): + # x: [bs, num_attention_heads, seq_len, head_size] + # This `if` block is unlikely to be run after we build sin/cos in `__init__`. Keep the logic here just in case. + if seq_len > self.max_seq_len_cached: + self.max_seq_len_cached = seq_len + t = torch.arange(self.max_seq_len_cached, device=self.inv_freq.device, dtype=torch.float32) + freqs = torch.outer(t, self.inv_freq) + emb = torch.cat((freqs, freqs), dim=-1) + self.cos_cached = emb.cos()[None, None, :, :].to(torch.float32).to(x.device) + self.sin_cached = emb.sin()[None, None, :, :].to(torch.float32).to(x.device) + elif self.cos_cached.device != x.device: + self.cos_cached = self.cos_cached.to(x.device) + self.sin_cached = self.sin_cached.to(x.device) + return ( + self.cos_cached[:, :, :seq_len, ...], + self.sin_cached[:, :, :seq_len, ...], + ) + + +def rotate_half(x): + """Rotates half the hidden dims of the input.""" + x1 = x[..., : x.shape[-1] // 2] + x2 = x[..., x.shape[-1] // 2:] + return torch.cat((-x2, x1), dim=-1) + + +def apply_rotary_pos_emb(q, k, cos_, sin_, position_ids): + cos = cos_.squeeze(1).squeeze(0) # [seq_len, dim] + sin = sin_.squeeze(1).squeeze(0) # [seq_len, dim] + cos = cos[position_ids].unsqueeze(1) # [bs, 1, seq_len, dim] + sin = sin[position_ids].unsqueeze(1) # [bs, 1, seq_len, dim] + q_embed = (q.float() * cos) + (rotate_half(q.float()) * sin) + k_embed = (k.float() * cos) + (rotate_half(k.float()) * sin) + return q_embed.to(q.dtype), k_embed.to(k.dtype) + + +class MLP(nn.Module): + def __init__( + self, + hidden_size: int, + intermediate_size: int, + hidden_act: str, + ): + super().__init__() + self.gate_proj = nn.Linear(hidden_size, intermediate_size, bias=False) + self.down_proj = nn.Linear(intermediate_size, hidden_size, bias=False) + self.up_proj = nn.Linear(hidden_size, intermediate_size, bias=False) + self.act_fn = ACT2FN[hidden_act] + + def forward(self, x): + return self.down_proj(self.act_fn(self.gate_proj(x)) * self.up_proj(x)) + + +class Attention(nn.Module): + """Multi-headed attention from 'Attention Is All You Need' paper""" + def __init__(self, config: BaichuanConfig): + super().__init__() + self.config = config + self.hidden_size = config.hidden_size + self.num_heads = config.num_attention_heads + self.head_dim = self.hidden_size // self.num_heads + self.max_position_embeddings = config.max_position_embeddings + + if (self.head_dim * self.num_heads) != self.hidden_size: + raise ValueError( + f"hidden_size must be divisible by num_heads (got `hidden_size`: {self.hidden_size}" + f" and `num_heads`: {self.num_heads})." + ) + self.W_pack = nn.Linear(self.hidden_size, 3 * self.hidden_size, bias=False) + self.o_proj = nn.Linear(self.num_heads * self.head_dim, self.hidden_size, bias=False) + self.rotary_emb = RotaryEmbedding(self.head_dim, max_position_embeddings=self.max_position_embeddings) + + def _shape(self, tensor: torch.Tensor, seq_len: int, bsz: int): + return tensor.view(bsz, seq_len, self.num_heads, self.head_dim).transpose(1, 2).contiguous() + + def forward( + self, + hidden_states: torch.Tensor, + attention_mask: Optional[torch.Tensor] = None, + position_ids: Optional[torch.LongTensor] = None, + past_key_value: Optional[Tuple[torch.Tensor]] = None, + output_attentions: bool = False, + use_cache: bool = False, + ) -> Tuple[torch.Tensor, Optional[torch.Tensor], Optional[Tuple[torch.Tensor]]]: + bsz, q_len, _ = hidden_states.size() + + proj = self.W_pack(hidden_states) + proj = proj.unflatten(-1, (3, self.hidden_size)).unsqueeze(0).transpose(0, -2).squeeze(-2) + query_states = proj[0].view(bsz, q_len, self.num_heads, self.head_dim).transpose(1, 2) + key_states = proj[1].view(bsz, q_len, self.num_heads, self.head_dim).transpose(1, 2) + value_states = proj[2].view(bsz, q_len, self.num_heads, self.head_dim).transpose(1, 2) + + kv_seq_len = key_states.shape[-2] + if past_key_value is not None: + kv_seq_len += past_key_value[0].shape[-2] + cos, sin = self.rotary_emb(value_states, seq_len=kv_seq_len) + query_states, key_states = apply_rotary_pos_emb(query_states, key_states, cos, sin, position_ids) + # [bsz, nh, t, hd] + + if past_key_value is not None: + # reuse k, v, self_attention + key_states = torch.cat([past_key_value[0], key_states], dim=2) + value_states = torch.cat([past_key_value[1], value_states], dim=2) + + past_key_value = (key_states, value_states) if use_cache else None + if xops is not None and self.training: + attn_weights = None + query_states = query_states.transpose(1, 2) + key_states = key_states.transpose(1, 2) + value_states = value_states.transpose(1, 2) + attn_output = xops.memory_efficient_attention( + query_states, key_states, value_states, attn_bias=xops.LowerTriangularMask() + ) + else: + with torch.backends.cuda.sdp_kernel(enable_flash=True, enable_math=True, enable_mem_efficient=True): + attn_output = F.scaled_dot_product_attention(query_states, key_states, value_states, attn_mask = attention_mask) + attn_output = attn_output.transpose(1, 2) + attn_output = attn_output.reshape(bsz, q_len, self.hidden_size) + attn_output = self.o_proj(attn_output) + + if not output_attentions: + attn_weights = None + + return attn_output, attn_weights, past_key_value + + +class DecoderLayer(nn.Module): + def __init__(self, config: BaichuanConfig): + super().__init__() + self.hidden_size = config.hidden_size + self.self_attn = Attention(config=config) + self.mlp = MLP( + hidden_size=self.hidden_size, + intermediate_size=config.intermediate_size, + hidden_act=config.hidden_act, + ) + self.input_layernorm = RMSNorm(config.hidden_size, eps=config.rms_norm_eps) + self.post_attention_layernorm = RMSNorm(config.hidden_size, eps=config.rms_norm_eps) + + def forward( + self, + hidden_states: torch.Tensor, + attention_mask: Optional[torch.Tensor] = None, + position_ids: Optional[torch.LongTensor] = None, + past_key_value: Optional[Tuple[torch.Tensor]] = None, + output_attentions: Optional[bool] = False, + use_cache: Optional[bool] = False, + ) -> Tuple[torch.FloatTensor, Optional[Tuple[torch.FloatTensor, torch.FloatTensor]]]: + + residual = hidden_states + + hidden_states = self.input_layernorm(hidden_states) + + # Self Attention + hidden_states, self_attn_weights, present_key_value = self.self_attn( + hidden_states=hidden_states, + attention_mask=attention_mask, + position_ids=position_ids, + past_key_value=past_key_value, + output_attentions=output_attentions, + use_cache=use_cache, + ) + hidden_states = residual + hidden_states + + # Fully Connected + residual = hidden_states + hidden_states = self.post_attention_layernorm(hidden_states) + hidden_states = self.mlp(hidden_states) + hidden_states = residual + hidden_states + + outputs = (hidden_states,) + + if output_attentions: + outputs += (self_attn_weights,) + + if use_cache: + outputs += (present_key_value,) + + return outputs + + +class BaichuanPreTrainedModel(PreTrainedModel): + config_class = BaichuanConfig + base_model_prefix = "model" + supports_gradient_checkpointing = True + _no_split_modules = ["DecoderLayer"] + _keys_to_ignore_on_load_unexpected = [r"decoder\.version"] + + def _init_weights(self, module): + std = self.config.initializer_range + if isinstance(module, nn.Linear): + module.weight.data.normal_(mean=0.0, std=std) + if module.bias is not None: + module.bias.data.zero_() + elif isinstance(module, nn.Embedding): + module.weight.data.normal_(mean=0.0, std=std) + if module.padding_idx is not None: + module.weight.data[module.padding_idx].zero_() + + def _set_gradient_checkpointing(self, module, value=False): + if isinstance(module, BaichuanModel): + module.gradient_checkpointing = value + + +class BaichuanModel(BaichuanPreTrainedModel): + def __init__(self, config: BaichuanConfig): + super().__init__(config) + self.padding_idx = config.pad_token_id + self.vocab_size = config.vocab_size + + self.embed_tokens = nn.Embedding(config.vocab_size, config.hidden_size, self.padding_idx) + self.layers = nn.ModuleList([DecoderLayer(config) for _ in range(config.num_hidden_layers)]) + self.norm = RMSNorm(config.hidden_size, eps=config.rms_norm_eps) + + self.gradient_checkpointing = False + # Initialize weights and apply final processing + self.post_init() + + def get_input_embeddings(self): + return self.embed_tokens + + def set_input_embeddings(self, value): + self.embed_tokens = value + + # Copied from transformers.models.bart.modeling_bart.BartDecoder._prepare_decoder_attention_mask + def _prepare_decoder_attention_mask(self, attention_mask, input_shape, inputs_embeds, past_key_values_length): + # create causal mask + # [bsz, seq_len] -> [bsz, 1, tgt_seq_len, src_seq_len] + combined_attention_mask = None + if input_shape[-1] > 1: + combined_attention_mask = _make_causal_mask( + input_shape, + inputs_embeds.dtype, + device=inputs_embeds.device, + past_key_values_length=past_key_values_length, + ) + + if attention_mask is not None: + # [bsz, seq_len] -> [bsz, 1, tgt_seq_len, src_seq_len] + expanded_attn_mask = _expand_mask(attention_mask, inputs_embeds.dtype, tgt_len=input_shape[-1]).to( + inputs_embeds.device + ) + combined_attention_mask = ( + expanded_attn_mask if combined_attention_mask is None else expanded_attn_mask + combined_attention_mask + ) + + return combined_attention_mask + + def forward( + self, + input_ids: torch.LongTensor = None, + attention_mask: Optional[torch.Tensor] = None, + position_ids: Optional[torch.LongTensor] = None, + past_key_values: Optional[List[torch.FloatTensor]] = None, + inputs_embeds: Optional[torch.FloatTensor] = None, + use_cache: Optional[bool] = None, + output_attentions: Optional[bool] = None, + output_hidden_states: Optional[bool] = None, + return_dict: Optional[bool] = None, + ) -> Union[Tuple, BaseModelOutputWithPast]: + output_attentions = output_attentions if output_attentions is not None else self.config.output_attentions + output_hidden_states = ( + output_hidden_states if output_hidden_states is not None else self.config.output_hidden_states + ) + use_cache = use_cache if use_cache is not None else self.config.use_cache + + return_dict = return_dict if return_dict is not None else self.config.use_return_dict + + # retrieve input_ids and inputs_embeds + if input_ids is not None and inputs_embeds is not None: + raise ValueError("You cannot specify both decoder_input_ids and decoder_inputs_embeds at the same time") + elif input_ids is not None: + batch_size, seq_length = input_ids.shape + elif inputs_embeds is not None: + batch_size, seq_length, _ = inputs_embeds.shape + else: + raise ValueError("You have to specify either decoder_input_ids or decoder_inputs_embeds") + + seq_length_with_past = seq_length + past_key_values_length = 0 + + if past_key_values is not None: + past_key_values_length = past_key_values[0][0].shape[2] + seq_length_with_past = seq_length_with_past + past_key_values_length + + if position_ids is None: + device = input_ids.device if input_ids is not None else inputs_embeds.device + position_ids = torch.arange( + past_key_values_length, seq_length + past_key_values_length, dtype=torch.long, device=device + ) + position_ids = position_ids.unsqueeze(0).view(-1, seq_length) + else: + position_ids = position_ids.view(-1, seq_length).long() + + if inputs_embeds is None: + inputs_embeds = self.embed_tokens(input_ids) + # embed positions + if attention_mask is None: + attention_mask = torch.ones( + (batch_size, seq_length_with_past), dtype=torch.bool, device=inputs_embeds.device + ) + attention_mask = self._prepare_decoder_attention_mask( + attention_mask, (batch_size, seq_length), inputs_embeds, past_key_values_length + ) + + hidden_states = inputs_embeds + + if self.gradient_checkpointing and self.training: + if use_cache: + logger.warning_once( + "`use_cache=True` is incompatible with gradient checkpointing. Setting `use_cache=False`..." + ) + use_cache = False + + # decoder layers + all_hidden_states = () if output_hidden_states else None + all_self_attns = () if output_attentions else None + next_decoder_cache = () if use_cache else None + + for idx, decoder_layer in enumerate(self.layers): + if output_hidden_states: + all_hidden_states += (hidden_states,) + + past_key_value = past_key_values[idx] if past_key_values is not None else None + + if self.gradient_checkpointing and self.training: + + def create_custom_forward(module): + def custom_forward(*inputs): + # None for past_key_value + return module(*inputs, output_attentions, None) + + return custom_forward + + layer_outputs = torch.utils.checkpoint.checkpoint( + create_custom_forward(decoder_layer), + hidden_states, + attention_mask, + position_ids, + None, + ) + else: + layer_outputs = decoder_layer( + hidden_states, + attention_mask=attention_mask, + position_ids=position_ids, + past_key_value=past_key_value, + output_attentions=output_attentions, + use_cache=use_cache, + ) + + hidden_states = layer_outputs[0] + + if use_cache: + next_decoder_cache += (layer_outputs[2 if output_attentions else 1],) + + if output_attentions: + all_self_attns += (layer_outputs[1],) + + hidden_states = self.norm(hidden_states) + + # add hidden states from the last decoder layer + if output_hidden_states: + all_hidden_states += (hidden_states,) + + next_cache = next_decoder_cache if use_cache else None + if not return_dict: + return tuple(v for v in [hidden_states, next_cache, all_hidden_states, all_self_attns] if v is not None) + return BaseModelOutputWithPast( + last_hidden_state=hidden_states, + past_key_values=next_cache, + hidden_states=all_hidden_states, + attentions=all_self_attns, + ) + + +class NormHead(nn.Module): + def __init__(self, hidden_size, vocab_size, bias=False): + super().__init__() + self.weight = nn.Parameter(torch.empty((vocab_size, hidden_size))) + nn.init.kaiming_uniform_(self.weight, a=math.sqrt(5)) + self.first_flag = True + + def forward(self, hidden_states): + if self.training: + norm_weight = nn.functional.normalize(self.weight) + self.first_flag = True + elif self.first_flag: + self.first_flag = False + self.weight.data = nn.functional.normalize(self.weight) + norm_weight = self.weight + else: + norm_weight = self.weight + return nn.functional.linear(hidden_states, norm_weight) + +_init_weights = True +@contextmanager +def no_init_weights(_enable=True): + global _init_weights + old_init_weights = _init_weights + if _enable: + _init_weights = False + try: + yield + finally: + _init_weights = old_init_weights + +class BaichuanForCausalLM(BaichuanPreTrainedModel): + def __init__(self, config, *model_args, **model_kwargs): + super().__init__(config, *model_args, **model_kwargs) + self.model = BaichuanModel(config) + + self.lm_head = NormHead(config.hidden_size, config.vocab_size, bias=False) + if hasattr(config, "quantization_config") and isinstance(config.quantization_config, dict) and config.quantization_config.get('load_in_4bit', False): + try: + from .quantizer import quantize_offline, init_model_weight_int4 + except ImportError: + raise ImportError(f"Needs QLinear to run quantize.") + quantize_offline(self, 4) + # Initialize weights and apply final processing + self.post_init() + + def get_input_embeddings(self): + return self.model.embed_tokens + + def set_input_embeddings(self, value): + self.model.embed_tokens = value + + def get_output_embeddings(self): + return self.lm_head + + def set_output_embeddings(self, new_embeddings): + self.lm_head = new_embeddings + + def set_decoder(self, decoder): + self.model = decoder + + def get_decoder(self): + return self.model + + @classmethod + def from_pretrained( + cls, + pretrained_model_name_or_path: Optional[Union[str, os.PathLike]], + *model_args, + config: Optional[Union[PretrainedConfig, str, os.PathLike]] = None, + cache_dir: Optional[Union[str, os.PathLike]] = None, + ignore_mismatched_sizes: bool = False, + force_download: bool = False, + local_files_only: bool = False, + token: Optional[Union[str, bool]] = None, + revision: str = "main", + use_safetensors: bool = None, + **kwargs, + ): + # Load config if we don't provide a configuration + if not isinstance(config, PretrainedConfig): + config_path = config if config is not None else pretrained_model_name_or_path + config, model_kwargs = cls.config_class.from_pretrained( + config_path, + cache_dir=cache_dir, + return_unused_kwargs=True, + force_download=force_download, + resume_download=False, + proxies=None, + local_files_only=local_files_only, + token=token, + revision=revision, + subfolder="", + _from_auto=False, + _from_pipeline=None, + **kwargs, + ) + else: + model_kwargs = kwargs + + if hasattr(config, "quantization_config") and config.quantization_config['load_in_4bit']: + try: + from .quantizer import init_model_weight_int4 + from accelerate import init_empty_weights, dispatch_model, infer_auto_device_map + from accelerate.utils import CustomDtype + from accelerate.utils import get_balanced_memory + except ImportError: + raise ImportError(f"Needs import model weight init func to run quantize.") + # Instantiate model. + init_contexts = [no_init_weights(_enable=True)] + init_contexts.append(init_empty_weights()) + with ContextManagers(init_contexts): + model = cls(config) + + model_file = os.path.join(pretrained_model_name_or_path, 'pytorch_model.bin') + state_dict = torch.load(model_file, map_location="cpu") + model.is_quantized = True + + device_map = kwargs.pop("device_map", None) + torch_dtype = kwargs.pop("torch_dtype", None) + + if device_map is not None: + kwargs = {"no_split_module_classes": model._no_split_modules} + target_dtype = CustomDtype.INT4 + max_memory = get_balanced_memory( + model, + dtype=target_dtype, + low_zero=(device_map == "balanced_low_0"), + max_memory=None, + **kwargs, + ) + kwargs["max_memory"] = max_memory + device_map = infer_auto_device_map(model, dtype=target_dtype, **kwargs) + + model = init_model_weight_int4(config, model, state_dict) + + # Set model in evaluation mode to deactivate DropOut modules by default + model.eval() + # If it is a model with generation capabilities, attempt to load the generation config + if model.can_generate(): + try: + model.generation_config = GenerationConfig.from_pretrained( + pretrained_model_name_or_path, + cache_dir=cache_dir, + force_download=force_download, + resume_download=False, + proxies=None, + local_files_only=local_files_only, + token=token, + revision=revision, + subfolder="", + _from_auto=False, + _from_pipeline=None, + **kwargs, + ) + except (OSError, TypeError): + logger.info( + "Generation config file not found, using a generation config created from the model config." + ) + pass + + if device_map is not None: + dispatch_model(model, device_map=device_map) + + return model + return super(BaichuanForCausalLM, cls).from_pretrained(pretrained_model_name_or_path, *model_args, + config=config, cache_dir=cache_dir, ignore_mismatched_sizes=ignore_mismatched_sizes, + force_download=force_download, local_files_only=local_files_only, token=token, revision=revision, + use_safetensors=use_safetensors, **kwargs) + + def forward( + self, + input_ids: torch.LongTensor = None, + attention_mask: Optional[torch.Tensor] = None, + position_ids: Optional[torch.LongTensor] = None, + past_key_values: Optional[List[torch.FloatTensor]] = None, + inputs_embeds: Optional[torch.FloatTensor] = None, + labels: Optional[torch.LongTensor] = None, + use_cache: Optional[bool] = None, + output_attentions: Optional[bool] = None, + output_hidden_states: Optional[bool] = None, + return_dict: Optional[bool] = None, + ) -> Union[Tuple, CausalLMOutputWithPast]: + + output_attentions = output_attentions if output_attentions is not None else self.config.output_attentions + output_hidden_states = ( + output_hidden_states if output_hidden_states is not None else self.config.output_hidden_states + ) + return_dict = return_dict if return_dict is not None else self.config.use_return_dict + + # decoder outputs consists of (dec_features, layer_state, dec_hidden, dec_attn) + outputs = self.model( + input_ids=input_ids, + attention_mask=attention_mask, + position_ids=position_ids, + past_key_values=past_key_values, + inputs_embeds=inputs_embeds, + use_cache=use_cache, + output_attentions=output_attentions, + output_hidden_states=output_hidden_states, + return_dict=return_dict, + ) + + hidden_states = outputs[0] + logits = self.lm_head(hidden_states) + loss = None + if labels is not None: + # Shift so that tokens < n predict n + shift_logits = logits[..., :-1, :].contiguous() + shift_labels = labels[..., 1:].contiguous() + # Flatten the tokens + loss_fct = CrossEntropyLoss() + shift_logits = shift_logits.view(-1, self.config.vocab_size) + shift_labels = shift_labels.view(-1) + softmax_normalizer = shift_logits.max(-1).values ** 2 + z_loss = self.config.z_loss_weight * softmax_normalizer.mean() + # Enable model parallelism + shift_labels = shift_labels.to(shift_logits.device) + loss = loss_fct(shift_logits, shift_labels) + z_loss + + if not return_dict: + output = (logits,) + outputs[1:] + return (loss,) + output if loss is not None else output + + return CausalLMOutputWithPast( + loss=loss, + logits=logits, + past_key_values=outputs.past_key_values, + hidden_states=outputs.hidden_states, + attentions=outputs.attentions, + ) + + def prepare_inputs_for_generation( + self, input_ids, past_key_values=None, attention_mask=None, inputs_embeds=None, **kwargs + ): + if past_key_values: + input_ids = input_ids[:, -1:] + + position_ids = kwargs.get("position_ids", None) + if attention_mask is not None and position_ids is None: + # create position_ids on the fly for batch generation + position_ids = attention_mask.long().cumsum(-1) - 1 + position_ids.masked_fill_(attention_mask == 0, 1) + if past_key_values: + position_ids = position_ids[:, -1].unsqueeze(-1) + + # if `inputs_embeds` are passed, we only want to use them in the 1st generation step + if inputs_embeds is not None and past_key_values is None: + model_inputs = {"inputs_embeds": inputs_embeds} + else: + model_inputs = {"input_ids": input_ids} + + model_inputs.update( + { + "position_ids": position_ids, + "past_key_values": past_key_values, + "use_cache": kwargs.get("use_cache"), + "attention_mask": attention_mask, + } + ) + return model_inputs + + @staticmethod + def _reorder_cache(past_key_values, beam_idx): + reordered_past = () + for layer_past in past_key_values: + reordered_past += (tuple(past_state.index_select(0, beam_idx) for past_state in layer_past),) + return reordered_past + + def quantize(self, bits: int): + try: + from .quantizer import quantize_online + except ImportError: + raise ImportError(f"Needs QLinear to run quantize.") + return quantize_online(self, bits) + + def chat(self, tokenizer, messages: List[dict], stream=False, + generation_config: Optional[GenerationConfig]=None): + generation_config = generation_config or self.generation_config + input_ids = build_chat_input(self, tokenizer, messages, generation_config.max_new_tokens) + if stream: + streamer = TextIterStreamer(tokenizer, skip_prompt=True, skip_special_tokens=True) + Thread(target=self.generate, kwargs=dict( + inputs=input_ids, streamer=streamer, + generation_config=generation_config, + )).start() + return streamer + else: + outputs = self.generate(input_ids, generation_config=generation_config) + response = tokenizer.decode(outputs[0][len(input_ids[0]):], skip_special_tokens=True) + return response diff --git a/pytorch_model-00001-of-00002.bin b/pytorch_model-00001-of-00002.bin new file mode 100644 index 0000000..1a98a39 --- /dev/null +++ b/pytorch_model-00001-of-00002.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e23d508ea561ee2a64ff95b8f17b26055ee0b8835402bf30eb4a8ca74cf5f3fb +size 9934623283 diff --git a/pytorch_model-00002-of-00002.bin b/pytorch_model-00002-of-00002.bin new file mode 100644 index 0000000..bb15cae --- /dev/null +++ b/pytorch_model-00002-of-00002.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c45a83ebdad61caf921303f01d4f019628fad9eaca4f639f6361596c06a26eb2 +size 5077401650 diff --git a/pytorch_model.bin.index.json b/pytorch_model.bin.index.json new file mode 100644 index 0000000..a04353c --- /dev/null +++ b/pytorch_model.bin.index.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd4115a901475f97a903e017fd2c9922d9ffa38adcff1960fffcf47041dffda1 +size 18658 diff --git a/quantizer.py b/quantizer.py new file mode 100644 index 0000000..239a2fb --- /dev/null +++ b/quantizer.py @@ -0,0 +1,210 @@ +import bitsandbytes as bnb +from bitsandbytes.nn.modules import Params4bit, Int8Params +import torch + +def Params4bitCuda(self, device): + self.data = self.data.cuda(device) + self.quant_state[0] = self.quant_state[0].cuda(device) + self.quant_state[4][0] = self.quant_state[4][0].cuda(device) + self.quant_state[4][1][0] = self.quant_state[4][1][0].cuda(device) + self.quant_state[4][1][1] = self.quant_state[4][1][1].cuda(device) + + self.quant_state[6] = self.quant_state[6].cuda(device) + return self + +class Linear4bitOnline(torch.nn.Module): + def __init__(self, weight, bias, quant_type): + super().__init__() + self.weight = Params4bit( + weight.data, requires_grad=False, compress_statistics=True, quant_type=quant_type + ) + self.compute_dtype = None + #self.weight.cuda(weight.device) + self.bias = bias + + def forward(self, x: torch.Tensor): + # weights are cast automatically as Int8Params, but the bias has to be cast manually + if self.bias is not None and self.bias.dtype != x.dtype: + self.bias.data = self.bias.data.to(x.dtype) + + if getattr(self.weight, "quant_state", None) is None: + print( + "FP4 quantization state not initialized. Please call .cuda() or .to(device) on the LinearFP4 layer first." + ) + inp_dtype = x.dtype + if self.compute_dtype is not None: + x = x.to(self.compute_dtype) + + bias = None if self.bias is None else self.bias.to(self.compute_dtype) + out = bnb.matmul_4bit( + x, self.weight.t(), bias=bias, quant_state=self.weight.quant_state + ) + + out = out.to(inp_dtype) + + return out + +class Linear8bitLtOnline(torch.nn.Module): + def __init__( + self, + weight, + bias, + has_fp16_weights=True, + memory_efficient_backward=False, + threshold=0.0, + index=None, + ): + super().__init__() + assert ( + not memory_efficient_backward + ), "memory_efficient_backward is no longer required and the argument is deprecated in 0.37.0 and will be removed in 0.39.0" + self.state = bnb.MatmulLtState() + self.index = index + + # Necessary for stacked layers + self.state.threshold = threshold + self.state.has_fp16_weights = has_fp16_weights + self.state.memory_efficient_backward = memory_efficient_backward + if threshold > 0.0 and not has_fp16_weights: + self.state.use_pool = True + + self.weight = Int8Params( + weight.data, + has_fp16_weights=has_fp16_weights, + requires_grad=has_fp16_weights, + ) + self.bias = bias + + def init_8bit_state(self): + self.state.CB = self.weight.CB + self.state.SCB = self.weight.SCB + self.weight.CB = None + self.weight.SCB = None + + def forward(self, x: torch.Tensor): + self.state.is_training = self.training + if self.weight.CB is not None: + self.init_8bit_state() + + # weights are cast automatically as Int8Params, but the bias has to be cast manually + if self.bias is not None and self.bias.dtype != x.dtype: + self.bias.data = self.bias.data.to(x.dtype) + + out = bnb.matmul(x, self.weight, bias=self.bias, state=self.state) + + if not self.state.has_fp16_weights: + if self.state.CB is not None and self.state.CxB is not None: + # we converted 8-bit row major to turing/ampere format in the first inference pass + # we no longer need the row-major weight + del self.state.CB + self.weight.data = self.state.CxB + return out + +def quantize_offline(model, bits: int): + assert (bits == 4), f'bits: {bits} is not supported' + + for i, layer in enumerate(model.model.layers): + layer.self_attn.W_pack = bnb.nn.Linear4bit( + layer.self_attn.W_pack.weight.shape[1], + layer.self_attn.W_pack.weight.shape[0], + False, + torch.float16, + compress_statistics=True, + quant_type="nf4", + ) + layer.self_attn.o_proj = bnb.nn.Linear4bit( + layer.self_attn.o_proj.weight.shape[1], + layer.self_attn.o_proj.weight.shape[0], + False, + torch.float16, + compress_statistics=True, + quant_type="nf4", + ) + + layer.mlp.gate_proj = bnb.nn.Linear4bit( + layer.mlp.gate_proj.weight.shape[1], + layer.mlp.gate_proj.weight.shape[0], + False, + torch.float16, + compress_statistics=True, + quant_type="nf4", + ) + layer.mlp.down_proj = bnb.nn.Linear4bit( + layer.mlp.down_proj.weight.shape[1], + layer.mlp.down_proj.weight.shape[0], + False, + torch.float16, + compress_statistics=True, + quant_type="nf4", + ) + layer.mlp.up_proj = bnb.nn.Linear4bit( + layer.mlp.up_proj.weight.shape[1], + layer.mlp.up_proj.weight.shape[0], + False, + torch.float16, + compress_statistics=True, + quant_type="nf4", + ) + return model + +def quantize_online(model, bits: int): + def quant(weight, bias=None): + if bits == 8: + linear = Linear8bitLtOnline( + weight, + bias, + has_fp16_weights=False, + threshold=6.0, + ) + if bias is not None: + linear.bias = torch.nn.Parameter(bias) + elif bits == 4: + linear = Linear4bitOnline( + weight, + bias, + quant_type="nf4", #fp4/nf4 + ) + else: + raise ValueError("quantize only support 4/8 bit") + return linear + + for i, layer in enumerate(model.model.layers): + layer.self_attn.W_pack = quant(layer.self_attn.W_pack.weight) + layer.self_attn.o_proj = quant(layer.self_attn.o_proj.weight) + layer.mlp.gate_proj = quant(layer.mlp.gate_proj.weight) + layer.mlp.down_proj = quant(layer.mlp.down_proj.weight) + layer.mlp.up_proj = quant(layer.mlp.up_proj.weight) + return model + +def init_model_weight_int4(config, model, state_dict): + #replace Params4bit.cuda with Params4bitCuda + Params4bit.cuda = Params4bitCuda + + for i in range(config.num_hidden_layers): + weight_data = state_dict[f'model.layers.{i}.self_attn.W_pack.weight.data'] + weight_quant_state = state_dict[f'model.layers.{i}.self_attn.W_pack.weight.quant_state'] + model.model.layers[i].self_attn.W_pack.weight = Params4bit(weight_data, requires_grad=False, quant_state=weight_quant_state) + + weight_data = state_dict[f'model.layers.{i}.self_attn.o_proj.weight.data'] + weight_quant_state = state_dict[f'model.layers.{i}.self_attn.o_proj.weight.quant_state'] + model.model.layers[i].self_attn.o_proj.weight = Params4bit(weight_data, requires_grad=False, quant_state=weight_quant_state) + + weight_data = state_dict[f'model.layers.{i}.mlp.gate_proj.weight.data'] + weight_quant_state = state_dict[f'model.layers.{i}.mlp.gate_proj.weight.quant_state'] + model.model.layers[i].mlp.gate_proj.weight = Params4bit(weight_data, requires_grad=False, quant_state=weight_quant_state) + + weight_data = state_dict[f'model.layers.{i}.mlp.up_proj.weight.data'] + weight_quant_state = state_dict[f'model.layers.{i}.mlp.up_proj.weight.quant_state'] + model.model.layers[i].mlp.up_proj.weight = Params4bit(weight_data, requires_grad=False, quant_state=weight_quant_state) + + weight_data = state_dict[f'model.layers.{i}.mlp.down_proj.weight.data'] + weight_quant_state = state_dict[f'model.layers.{i}.mlp.down_proj.weight.quant_state'] + model.model.layers[i].mlp.down_proj.weight = Params4bit(weight_data, requires_grad=False, quant_state=weight_quant_state) + + model.model.layers[i].input_layernorm.weight = state_dict[f'model.layers.{i}.input_layernorm.weight'] + model.model.layers[i].post_attention_layernorm.weight = state_dict[f'model.layers.{i}.post_attention_layernorm.weight'] + + model.model.embed_tokens.weight = state_dict['model.embed_tokens.weight'] + model.model.norm.weight = state_dict['model.norm.weight'] + model.lm_head.weight = state_dict['lm_head.weight'] + return model \ No newline at end of file diff --git a/special_tokens_map.json b/special_tokens_map.json new file mode 100644 index 0000000..5819ea2 --- /dev/null +++ b/special_tokens_map.json @@ -0,0 +1,30 @@ +{ + "bos_token": { + "content": "", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false + }, + "eos_token": { + "content": "", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false + }, + "pad_token": { + "content": "", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false + }, + "unk_token": { + "content": "", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false + } +} diff --git a/tokenization_baichuan.py b/tokenization_baichuan.py new file mode 100644 index 0000000..1d347e6 --- /dev/null +++ b/tokenization_baichuan.py @@ -0,0 +1,251 @@ +# Copyright 2023 Baichuan Inc. All Rights Reserved. + +# Copyright 2022 EleutherAI and the HuggingFace Inc. team. All rights reserved. +# +# This code is based on EleutherAI's GPT-NeoX library and the GPT-NeoX +# and OPT implementations in this library. It has been modified from its +# original forms to accommodate minor architectural differences compared +# to GPT-NeoX and OPT used by the Meta AI team that trained the model. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import os +from shutil import copyfile +from typing import Any, Dict, List, Optional, Tuple + +import sentencepiece as spm + +from transformers.tokenization_utils import AddedToken, PreTrainedTokenizer +from transformers.utils import logging + + +logger = logging.get_logger(__name__) + +VOCAB_FILES_NAMES = {"vocab_file": "tokenizer.model"} + +PRETRAINED_VOCAB_FILES_MAP = { + "vocab_file": {}, + "tokenizer_file": {}, +} +PRETRAINED_POSITIONAL_EMBEDDINGS_SIZES = {} + + +class BaichuanTokenizer(PreTrainedTokenizer): + """ + Construct a Baichuan tokenizer. Based on byte-level Byte-Pair-Encoding. + + Args: + vocab_file (`str`): + Path to the vocabulary file. + """ + + vocab_files_names = VOCAB_FILES_NAMES + pretrained_vocab_files_map = PRETRAINED_VOCAB_FILES_MAP + max_model_input_sizes = PRETRAINED_POSITIONAL_EMBEDDINGS_SIZES + model_input_names = ["input_ids", "attention_mask"] + + def __init__( + self, + vocab_file, + unk_token="", + bos_token="", + eos_token="", + pad_token=None, + sp_model_kwargs: Optional[Dict[str, Any]] = None, + add_bos_token=True, + add_eos_token=False, + clean_up_tokenization_spaces=False, + **kwargs, + ): + self.sp_model_kwargs = {} if sp_model_kwargs is None else sp_model_kwargs + bos_token = AddedToken(bos_token, lstrip=False, rstrip=False) if isinstance(bos_token, str) else bos_token + eos_token = AddedToken(eos_token, lstrip=False, rstrip=False) if isinstance(eos_token, str) else eos_token + unk_token = AddedToken(unk_token, lstrip=False, rstrip=False) if isinstance(unk_token, str) else unk_token + pad_token = AddedToken(pad_token, lstrip=False, rstrip=False) if isinstance(pad_token, str) else pad_token + self.vocab_file = vocab_file + self.add_bos_token = add_bos_token + self.add_eos_token = add_eos_token + self.sp_model = spm.SentencePieceProcessor(**self.sp_model_kwargs) + self.sp_model.Load(vocab_file) + super().__init__( + bos_token=bos_token, + eos_token=eos_token, + unk_token=unk_token, + pad_token=pad_token, + add_bos_token=add_bos_token, + add_eos_token=add_eos_token, + sp_model_kwargs=self.sp_model_kwargs, + clean_up_tokenization_spaces=clean_up_tokenization_spaces, + **kwargs, + ) + + def __getstate__(self): + state = self.__dict__.copy() + state["sp_model"] = None + return state + + def __setstate__(self, d): + self.__dict__ = d + self.sp_model = spm.SentencePieceProcessor(**self.sp_model_kwargs) + self.sp_model.Load(self.vocab_file) + + @property + def vocab_size(self): + """Returns vocab size""" + return self.sp_model.get_piece_size() + + def get_vocab(self): + """Returns vocab as a dict""" + vocab = {self.convert_ids_to_tokens(i): i for i in range(self.vocab_size)} + vocab.update(self.added_tokens_encoder) + return vocab + + def _tokenize(self, text): + """Returns a tokenized string.""" + return self.sp_model.encode(text, out_type=str) + + def _convert_token_to_id(self, token): + """Converts a token (str) in an id using the vocab.""" + return self.sp_model.piece_to_id(token) + + def _convert_id_to_token(self, index): + """Converts an index (integer) in a token (str) using the vocab.""" + token = self.sp_model.IdToPiece(index) + return token + + def convert_tokens_to_string(self, tokens): + """Converts a sequence of tokens (string) in a single string.""" + current_sub_tokens = [] + out_string = "" + prev_is_special = False + for i, token in enumerate(tokens): + # make sure that special tokens are not decoded using sentencepiece model + if token in self.all_special_tokens: + if not prev_is_special and i != 0: + out_string += " " + out_string += self.sp_model.decode(current_sub_tokens) + token + prev_is_special = True + current_sub_tokens = [] + else: + current_sub_tokens.append(token) + prev_is_special = False + out_string += self.sp_model.decode(current_sub_tokens) + return out_string + + def save_vocabulary(self, save_directory, filename_prefix: Optional[str] = None) -> Tuple[str]: + """ + Save the vocabulary and special tokens file to a directory. + + Args: + save_directory (`str`): + The directory in which to save the vocabulary. + + Returns: + `Tuple(str)`: Paths to the files saved. + """ + if not os.path.isdir(save_directory): + logger.error(f"Vocabulary path ({save_directory}) should be a directory") + return + out_vocab_file = os.path.join( + save_directory, (filename_prefix + "-" if filename_prefix else "") + VOCAB_FILES_NAMES["vocab_file"] + ) + + if os.path.abspath(self.vocab_file) != os.path.abspath(out_vocab_file) and os.path.isfile(self.vocab_file): + copyfile(self.vocab_file, out_vocab_file) + elif not os.path.isfile(self.vocab_file): + with open(out_vocab_file, "wb") as fi: + content_spiece_model = self.sp_model.serialized_model_proto() + fi.write(content_spiece_model) + + return (out_vocab_file,) + + def build_inputs_with_special_tokens(self, token_ids_0, token_ids_1=None): + bos_token_id = [self.bos_token_id] if self.add_bos_token else [] + eos_token_id = [self.eos_token_id] if self.add_eos_token else [] + + output = bos_token_id + token_ids_0 + eos_token_id + + if token_ids_1 is not None: + output = output + bos_token_id + token_ids_1 + eos_token_id + + return output + + def get_special_tokens_mask( + self, token_ids_0: List[int], token_ids_1: Optional[List[int]] = None, already_has_special_tokens: bool = False + ) -> List[int]: + """ + Retrieve sequence ids from a token list that has no special tokens added. This method is called when adding + special tokens using the tokenizer `prepare_for_model` method. + + Args: + token_ids_0 (`List[int]`): + List of IDs. + token_ids_1 (`List[int]`, *optional*): + Optional second list of IDs for sequence pairs. + already_has_special_tokens (`bool`, *optional*, defaults to `False`): + Whether or not the token list is already formatted with special tokens for the model. + + Returns: + `List[int]`: A list of integers in the range [0, 1]: 1 for a special token, 0 for a sequence token. + """ + if already_has_special_tokens: + return super().get_special_tokens_mask( + token_ids_0=token_ids_0, token_ids_1=token_ids_1, already_has_special_tokens=True + ) + + bos_token_id = [1] if self.add_bos_token else [] + eos_token_id = [1] if self.add_eos_token else [] + + if token_ids_1 is None: + return bos_token_id + ([0] * len(token_ids_0)) + eos_token_id + return ( + bos_token_id + + ([0] * len(token_ids_0)) + + eos_token_id + + bos_token_id + + ([0] * len(token_ids_1)) + + eos_token_id + ) + + def create_token_type_ids_from_sequences( + self, token_ids_0: List[int], token_ids_1: Optional[List[int]] = None + ) -> List[int]: + """ + Creates a mask from the two sequences passed to be used in a sequence-pair classification task. An ALBERT + sequence pair mask has the following format: + + ``` + 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 + | first sequence | second sequence | + ``` + + if token_ids_1 is None, only returns the first portion of the mask (0s). + + Args: + token_ids_0 (`List[int]`): + List of ids. + token_ids_1 (`List[int]`, *optional*): + Optional second list of IDs for sequence pairs. + + Returns: + `List[int]`: List of [token type IDs](../glossary#token-type-ids) according to the given sequence(s). + """ + bos_token_id = [self.bos_token_id] if self.add_bos_token else [] + eos_token_id = [self.eos_token_id] if self.add_eos_token else [] + + output = [0] * len(bos_token_id + token_ids_0 + eos_token_id) + + if token_ids_1 is not None: + output += [1] * len(bos_token_id + token_ids_1 + eos_token_id) + + return output diff --git a/tokenizer.model b/tokenizer.model new file mode 100644 index 0000000..b3902c4 --- /dev/null +++ b/tokenizer.model @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:79452955be6b419a65984273a9f08af86042e1c2a75ee3ba989cbf620a133cc2 +size 2001107 diff --git a/tokenizer_config.json b/tokenizer_config.json new file mode 100644 index 0000000..1c0f50a --- /dev/null +++ b/tokenizer_config.json @@ -0,0 +1,49 @@ +{ + "add_bos_token": false, + "add_eos_token": false, + "auto_map": { + "AutoTokenizer": [ + "tokenization_baichuan.BaichuanTokenizer", + null + ] + }, + "bos_token": { + "__type": "AddedToken", + "content": "", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false + }, + "clean_up_tokenization_spaces": false, + "eos_token": { + "__type": "AddedToken", + "content": "", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": true + }, + "model_max_length": 4096, + "pad_token": { + "__type": "AddedToken", + "content": "", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": true + }, + "padding_side": "left", + "sp_model_kwargs": {}, + "split_special_tokens": false, + "tokenizer_class": "BaichuanTokenizer", + "unk_token": { + "__type": "AddedToken", + "content": "", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": true + }, + "use_fast": false +}

Machine Mindset: An MBTI Exploration of Large Language Models