HuggingFace镜像/Falcon2-5.5B-Polish
模型介绍文件和版本分析

为何要进行剪枝?

尽管 Falcon-11B 已在 5T tokens 上完成训练,但从图表中可以看出,它仍处于欠拟合状态: 因此,我们决定对 50% 的层进行剪枝。 需要注意的是,仍需进行约 1B tokens 的持续预训练(约 1M 行 1k tokens 数据),以恢复该模型在目标语言上的困惑度。 我计划针对特定语言开展此项工作,具体取决于可用的计算资源情况。

sliced

这是一个使用 mergekit 创建的预训练语言模型合并体。

合并详情

合并方法

本模型采用 passthrough 合并方法进行剪枝。

合并的模型

合并中包含以下模型:

配置

生成此模型时使用了以下 YAML 配置:

slices:
  - sources:
      - model: tiiuae/falcon-11B
        layer_range: [0, 24]
  - sources:
      - model: tiiuae/falcon-11B
        layer_range: [55, 59]
merge_method: passthrough
dtype: bfloat16
from openmind import AutoTokenizer, AutoModelForCausalLM
import openmind
import torch
import torch_npu 
import argparse

def parse_args():
    parser = argparse.ArgumentParser()
    parser.add_argument(
        "--model_name_or_path",
        type=str,
        help="Jinan_AICC/Falcon2-5.5B-Polish",
        default="Jinan_AICC/Falcon2-5.5B-Polish",
    )
    args = parser.parse_args()
    return args

args = parse_args()
model = args.model_name_or_path

tokenizer = AutoTokenizer.from_pretrained(model)
pipeline = openmind.pipeline(
    "text-generation",
    model=model,
    tokenizer=tokenizer,
    torch_dtype=torch.bfloat16,
    device_map="auto",
)
sequences = pipeline(
   "<|im_start|>user\nDoes P=NP?<|im_end|>\n<|im_start|>assistant\n",
    max_length=256,
    do_sample=True,
    top_k=10,
    num_return_sequences=1,
    eos_token_id=tokenizer.eos_token_id,
)
for seq in sequences:
    print(f"Result: {seq['generated_text']}")

💥 使用 openmind 时,Falcon LLM 需要 torch 和 torch_npu 2.0 版本!

直接用途

大型语言模型研究;作为进一步专门化和针对特定用例(例如,文本摘要、文本生成、聊天机器人等)进行微调的基础。

超出范围的用途

未经充分风险评估和缓解措施的生产环境使用;任何可能被视为不负责任或有害的用例。

偏见、风险与局限性

Falcon2-5.5B 主要在英语语料上训练,同时也包含德语、西班牙语、法语、意大利语、葡萄牙语、波兰语、荷兰语、罗马尼亚语、捷克语和瑞典语。它无法很好地泛化到其他语言。此外,由于其训练数据来自代表网络内容的大规模语料库,模型会带有网络上常见的刻板印象和偏见。

建议

我们建议 Falcon2-5.5B 的用户考虑针对特定感兴趣的任务集对其进行微调,并在任何生产环境使用中采取防护措施和适当的预防手段。

下载使用量0