/ Модель

Характеристики

Контекст
2 048 токенов
Параметры
6,6 млрд
Размер весов
13,8 ГБ
Лицензия
Apache 2.0
Архитектура
llama · dense
Библиотека
transformers
Опубликована
23 июл 2023

bwx-7B-hf

Генерация текстаТекст → текст3 профессии

Экспериментальная китайская модель LLaMA с 6,6 млрд параметров для генерации текста и дообучения под задачи обработки последовательностей.

13скачиваний за 30 дней5лайковвеса обновлены24 июл 2023

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Текст» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

ZX9966/bwx-7B-hf — экспериментальная языковая модель, разработанная yjf9966 и дообученная на Chinese-LLaMA-Alpaca. Это плотная модель семейства LLaMA с 6,6 млрд параметров и расширенным токенизатором на 49 954 токена; она использует Transformers и формат PyTorch. Модель ориентирована на китайский язык, обучалась на данных BAAI/COIG-PC, а длина контекста составляет 2 048 токенов.

Модель генерирует текст и может применяться для предсказания следующего предложения, а также как основа для дообучения под классификацию последовательностей и токенов или ответы на вопросы. В карточке она описана как экспериментальный продукт, преимущественно предназначенный для адаптации к последующим задачам. Лицензия — Apache-2.0. Возможны смещения в предсказаниях, унаследованные от обучающих данных и базовой модели.

Сценарии применения

  • генерация китайского текста
  • предсказание следующего предложения на китайском языке
  • дообучение для классификации последовательностей
  • дообучение для классификации токенов
  • адаптация для ответов на вопросы на китайском языке

Ограничения

Модель может выдавать смещённые предсказания, в том числе унаследованные от обучающих данных и базовой модели. Она экспериментальная и в карточке преимущественно рекомендована как основа для дообучения под конкретные задачи.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Model Card for Model ID

This is an experimental product that can be used to create new LLM bassed on Chinese language.

Model Details

Model Description

  • Developed by: yjf9966
  • Model type: LLaMA with enhanced tokenizer-size-49954
  • Language(s) (NLP): Chinese
  • License: Apache-2.0
  • Finetuned from model: Chinese-LLaMA-Alpaca

Model Sources [optional]

Uses

You can use the raw model for next sentence prediction, but it's mostly intended to be fine-tuned on a downstream task. Note that this model is primarily aimed at being fine-tuned on tasks that use the whole sentence (potentially masked) to make decisions, such as sequence classification, token classification or question answering.

Bias, Risks, and Limitations

Even if the training data used for this model could be characterized as fairly neutral, this model can have biased predictions. It also inherits some of the bias of its dataset model.

Recommendations

Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations.

How to Get Started with the Model

Use the code below to get started with the model.

from transformers import LlamaForCausalLM, LlamaTokenizer
import torch

base_model_name = "BlueWhaleX/bwx-7B-hf"
load_type = torch.float16
device = None

generation_config = dict(
    temperature=0.2,
    top_k=40,
    top_p=0.9,
    do_sample=True,
    num_beams=1,
    repetition_penalty=1.3,
    max_new_tokens=400
    )

prompt_input = (
    "Below is an instruction that describes a task. "
    "Write a response that appropriately completes the request.\n\n"
    "### Instruction:\n\n{instruction}\n\n### Response:\n\n"
)
if torch.cuda.is_available():
    device = torch.device(0)
else:
    device = torch.device('cpu')

def generate_prompt(instruction, input=None):
    if input:
        instruction = instruction + '\n' + input
    return prompt_input.format_map({'instruction': instruction})

tokenizer = LlamaTokenizer.from_pretrained(base_model_name)
model = LlamaForCausalLM.from_pretrained(
        base_model_name,
        load_in_8bit=False,
        torch_dtype=load_type,
        low_cpu_mem_usage=True,
        device_map='auto',
        )

model_vocab_size = model.get_input_embeddings().weight.size(0)
tokenzier_vocab_size = len(tokenizer)
if model_vocab_size != tokenzier_vocab_size:
    model.resize_token_embeddings(tokenzier_vocab_size)

raw_input_text = input("Input:")
input_text = generate_prompt(instruction=raw_input_text)
inputs = tokenizer(input_text, return_tensors="pt") 
generation_output = model.generate(
input_ids=inputs["input_ids"].to(device),
    attention_mask=inputs['attention_mask'].to(device),
    eos_token_id=tokenizer.eos_token_id,
    pad_token_id=tokenizer.pad_token_id,
    **generation_config
)
s = generation_output[0]
output = tokenizer.decode(s, skip_special_tokens=True)
response = output.split("### Response:")[1].strip()
print("Response: ", response)
print("\n")

Training Details

Training Procedure

Preprocessing [optional]

80% for train dataset and 20% for test dataset

Training Hyperparameters

  • Training regime: fp16 mixed precision, lr=1e-4, lora_rank=8, lora_alpha=32

Evaluation

Testing Data

20% of the BAAI/COIG-PC dataset.

Input:王国维说:“自周之衰,文王、周公势力之瓦解也,国民之智力成熟于内,政治之纷乱乘之于外,上无统一之制度,下迫于社会之要求,于是诸于九流各创其学说。” 他意在说明 A. 分封制的崩溃 B. 商鞅变法的作用 C. 兼并战争的后果 D. 百家争鸣的原因
Response:  本题考查对材料的理解。A错误;B正确;C和D与材料无关。故选BC两项即可


Input:经济基础是指一定社会发展阶段占统治地位的生产关系各个方面的总和。解决了地方经济问题, 也就解 决了地方割据问题, 为此, 宋太祖采取的措施是( ) A . 地方设转运使, 财赋收归中央 B . 派文臣担任各地州县的长官 C . 派文臣管理地方政事 D . 采取分化事权办法, 削弱相权
Response:  A: 本题考查对宋太祖治下地方问题的认识。 A : 依据材料可知, 在北宋时期 , 由于地主阶级的发展壮大以及商业、手工业等新兴行业出现 , 这一时期出现的地方割据现象严重威胁着国家的统一与稳定 . 因此 , 为了解决这个问题, 需要加强中央集权 ; 故选 A


Input:go\\n/**\\n * Definition for a binary tree node.\\n * type TreeNode struct {\\n *     Val int\\n *     Left *TreeNode\\n *     Right *TreeNode\\n * }\\n */\\nfunc maxDepth(root *TreeNode) int {\\n\\tif root == nil {\\n\\t\\treturn 0\\n\\t}\\n\\tl, r := maxDepth(root.Left), maxDepth(root.Right)\\n\\treturn 1 + max(l, r)\\n}\\n\\nfunc max(a, b int) int {\\n\\tif a > b {\\n\\t\\treturn a\\n\\t}\\n\\treturn b\\n}\\n
Response:  ```python
def max_depth(root):  # The function takes in a single parameter `root` and returns its maximum depth value as output.
    if not root or len(root.children()) == 0:
        return 0
    l = max_depth(root.left)
    r = max_depth(root.right)
    return 1 + (max(l, r))

class TreeNode:
    def __init__(self, val=None, left=10, right=0):
        self.val = val
        self.left = None
        self.right = None


Citation

@software{bwx-7B-HF,
      title={An Enchanced Chinese Language Model based on the Chinese-LLaMA-Alpaca}, 
      url={https://huggingface.co/BlueWhaleX/bwx-7B-HF},
      year={2023}
}

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers

Можно запустить

Подбираем GPU…

Класс архитектуры
LlamaForCausalLM
Ревизия весов
2980ee4

0 моделей