/ Модель

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

Контекст
768 токенов
Параметры
93,3 млн
Лицензия
Apache 2.0
Архитектура
llama · dense
Библиотека
transformers
Опубликована
20 сен 2023

tinystories_zh

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

Компактная китайская LLaMA-модель для генерации коротких историй и экспериментов с языковыми моделями.

633скачиваний за 30 дней1лайквеса обновлены18 июн 2024

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Это компактная авторская языковая модель на архитектуре LLaMA, обученная для генерации коротких историй на китайском языке. Разработчик использовал код и инструменты llama2.c и датасет TinyStoriesZh; модель содержит 93,3 млн параметров, имеет 12 слоёв и контекст длиной 768 токенов. Для неё заново обучен BPE-токенизатор на корпусе из 3000 китайских символов.

Модель предназначена для экспериментов с обучением и устройством LLaMA, быстрой отладки приложений и генерации простых связных историй, в том числе в средах с ограниченными ресурсами. В карточке отмечены базовая логическая связность рассказов и три эпохи обучения; это небольшой чекпойнт с ограниченными возможностями, не рассчитанный на сложные задачи. Распространяется по лицензии Apache-2.0.

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

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

Ограничения

Модель содержит 93,3 млн параметров и имеет контекст 768 токенов, поэтому её возможности ограничены; автор характеризует рассказы как лишь базово связные. Токенизатор рассчитан на 3000 китайских символов.

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

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

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

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

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

Открыть на Hugging Face

Llama2中文童话小模型(93M)

模型背景

本模型采用 llama2.c 提供的代码和工具,训练了一个参数量93M的中文小模型。它的tokenizer是从语料中重新训练的,仅包含3000个中文字符,采用BPE算法实现,tokenizer.model仅有38K。

数量的数据集来自TinyStoriesZh,合并了1M和2M的数据集,总字符数量199,536,607,汉字数量2492,共计1,124,957行。从中随机抽取800,000训练3K的tokenizer

模型的训练参数如下:

参数值
dim768
n_heads12
n_layers12
kv_heads12
batch_size24
max_seq_len768
hidden_dim2268
dropout0.1
learning rate3e-4

训练细节

训练在单卡A10G的服务器上运行了大约18小时,共3个epoch

KeyValue
iteration22,940
loss/eval1.3784
loss/train1.2773
lr0.00003
tokens9,020,375,040

模型表现

git clone https://github.com/karpathy/llama2.c
cd llama2.c
make run

运行推理

./run ./llama2c-93MB.bin -t 0.9

结果如下

▁从前,有一个小女孩,名叫莉莉。有一天,莉莉的妈妈让她帮忙洗衣服。莉莉很乐意帮忙,并把一件
衬衫放进了洗衣机。突然,莉莉听到了奇怪的声音。▁“那是什么?”她问她妈妈。“这只是洗衣机。我们需要确保衣服干净,”她妈妈回答道。莉莉感到很安心,因为她帮助了妈妈。他们把所有的衣服都拿出
来,放进洗衣机里。洗完衣服后,莉莉的妈妈说:“干得好,莉莉!你真是个好帮手。”莉莉笑了,也为自己感到骄傲。她拥抱妈妈说:“妈妈,谢谢你让我帮忙洗衣服。”

▁从前,有一位高大强壮的超级英雄。他肌肉发达,可以举起重物。他喜欢帮助别人,并且非常坚强。
有一天,他去公园散步,看到一只小狗被困在树上。超级英雄想帮助那只狗。他爬上树,把狗从树枝上扶下来。狗很高兴,舔着超级英雄的脸表示感谢。超级英雄微笑着继续前行。他很高兴自己能够用自己的肌肉帮助这只狗,并结识了一个新朋友。

▁从前,有一只兔子,名叫雷米。雷米喜欢和他的朋友们一起跳来跳去玩耍。有一天,雷米和他的朋友
们正在玩捉迷藏,这时他们看到了一大堆干草。他们正在扔掉,突然干草碎成了碎片。弗雷米和他的朋友们很害怕,但他们知道他们必须帮忙。他们请他们的朋友兔子山姆帮他们捡干草。萨姆很勇敢,没有把干草分开。他们把干草拿到池塘里,把它分成小块。大家坐下来吃饭,雷米和山姆很高兴他们帮助了他们。从那天起,雷米就被称为森林里最勇敢的小兔子,总是在附近玩耍。

▁从前,有一个小女孩,名叫莉莉。她喜欢在外面玩耍并探索周围的世界。有一天,她在地上发现了一
块闪闪发光的石头。它是如此美丽和闪闪发光,她想永远保留它。但后来,莉莉的朋友过来看到了这块石头。她也想要它,但莉莉不想分享。她的朋友感到很难过,就回家了。那天晚些时候,莉莉意识到她不分享她的石头是自私的。她感到很难过,决定把石头送给她的朋友。她的朋友很高兴,他们一起玩了一整天。莉莉了解到分享很重要,自私会让别人感到难过。

可以看到93M的模型参数量虽然少,但是仍然具有一定的逻辑能力,故事可以保持基本的自洽。

模型已经转换为huggingface的LlamaPretrainedModel格式,调用方法如下:

torch.set_default_device("cuda")
config = AutoConfig.from_pretrained(model_path)
tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModelForCausalLM.from_pretrained(model_path, config=config)
inputs = tokenizer("从前", return_tensors="pt", add_special_tokens=True)
outputs = model.generate(**inputs, max_new_tokens=256, temperature=0.9)
text = tokenizer.batch_decode(outputs)[0]
print(text)

输出

<s> 从前,有一个小女孩,名叫莉莉。她喜欢在外面玩耍并探索周围的世界。
有一天,她在公园里玩耍时,看到一只蝴蝶,就去追它。她跑呀跑,直到迷路。
莉莉开始哭泣,一位好心的女士走过来问她:“小宝贝,你为什么哭?”莉莉回
答说:“我迷路了,找不到回家的路了。”那位女士说:“别担心,我会帮你找
到回家的路的。”他们一起走着,莉莉开始感到害怕。突然,那位女士停了下来,
说道:“别担心,我会帮你找到回家的路的。”他们走呀走,终于找到了莉莉的家。
莉莉很高兴,向那位女士表示感谢。那位女士微笑着说:“我很高兴能帮上忙。
记住,当你迷路时,寻求帮助总是好的。”莉莉点点头,紧紧地拥抱着妈妈。

小模型的意义

小模型的能力虽然有限,但是它在一下几个方面是具有非凡意义的

  1. 可以促进对模型原理的理解。俗话说“麻雀虽小五脏俱全”,小模型规模虽然小,但是具有llama2标准架构,方便学习和理解模型训练的原理
  2. 加速调试。在开发大模型app时,可以用小模型加快启动和运行的速度,方便快速迭代开发
  3. 嵌入式。在游戏这种需要快速反馈,并且存在高并发的环境中,小模型比大模型具有更强的优势。

感谢

  1. llama2.c
  2. llama2.c-zh
  3. TinyStoriesZh

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей