/ Модель

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

Контекст
2 048 токенов
Параметры
1 млрд
Лицензия
Apache 2.0
Архитектура
llama · dense
Опубликована
12 июн 2024

slim-summary-tiny

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

Компактная дообученная модель llmware, которая выделяет ключевые тезисы из текста и возвращает их списком.

20скачиваний за 30 дней2лайкавеса обновлены21 июн 2024

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

SLIM-SUMMARY-TINY — компактная специализированная языковая модель компании llmware для суммаризации текстов. Это дообученная модель на архитектуре Llama с 1,1 млрд параметров; в репозитории представлены веса PyTorch. На вход подаётся текстовый фрагмент, а на выходе модель формирует список отдельных ключевых тезисов в виде строк. Число тезисов можно задавать параметром, хотя управление длиной списка описано как экспериментальная возможность.

Модель предназначена для извлечения ключевых пунктов из текстов, в том числе для вызова функции суммаризации в LLMWare. Компактный размер позволяет запускать её на CPU. Контекст составляет 2048 токенов, поэтому при суммаризации следует учитывать ограничения на размер входного текста. Лицензия — Apache 2.0.

README отмечает, что кавычки в ответе могут мешать автоматическому преобразованию вывода в список Python; для этого может потребоваться обработка результата. Метаданные указывают задачу генерации текста.

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

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

Ограничения

Контекст ограничен 2048 токенами. Кавычки в ответе могут затруднять автоматическое преобразование вывода в список Python; размер списка тезисов обозначен как экспериментально управляемый параметр.

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

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

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

Также подходит для

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

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

Открыть на Hugging Face

SLIM-SUMMARY-TINY

slim-summary-tiny is a small, specialized model finetuned for summarize function-calls, generating output consisting of a python list of distinct summary points.

As an experimental feature in the model, there is an optional list size that can be passed with the parameters in invoking the model to guide the model to a specific number of response elements.

Input is a text passage, and output is a list of the form:

    ['summary_point1', 'summary_point2', 'summary_point3']

This model is 1.1B parameters, small enough to run on a CPU, and is fine-tuned on top of a tiny-llama base.

For fast inference use of this model, we would recommend using the 'quantized tool' version, e.g., 'slim-summary-tiny-tool'.

Usage Tips

-- Automatic (ast.literal_eval) conversion of the llm output to a python list is often complicated by the presence of '"' (ascii 34 double quotes) and "'" (ascii 39 single quote). We have provided a straightforward string remediation handler in llmware that automatically remediates and provides a well-formed Python list. We have tried multiple ways to handle 34/39 in training - and each has a set of trade-offs - we will continue to look for ways to better automate in future releases of the model.

-- If you are looking for a single output point, try the params: "brief description (1)"

-- If the document has a lot of financial points, try the params "financial data points" or "financial data points (5)"

-- Param counts are an experimental feature, but work reasonably well to guide the scope of the model's output length. At times, the model's attempt to match the target number of output points will result in some repetitive points.

Prompt format:

function = "summarize"
params = "key points (3)"
prompt = "<human> " + {text} + "\n" +
                      "<{function}> " + {params} + "</{function}>" + "\n<bot>:"

model = AutoModelForCausalLM.from_pretrained("llmware/slim-summary-tiny")
tokenizer = AutoTokenizer.from_pretrained("llmware/slim-summary-tiny")

function = "summarize"
params = "key points (3)"

text = "Tesla stock declined yesterday 8% in premarket trading after a poorly-received event in San Francisco yesterday, in which the company indicated a likely shortfall in revenue."  

prompt = "<human>: " + text + "\n" + f"<{function}> {params} </{function}>\n<bot>:"

inputs = tokenizer(prompt, return_tensors="pt")
start_of_input = len(inputs.input_ids[0])

outputs = model.generate(
    inputs.input_ids.to('cpu'),
    eos_token_id=tokenizer.eos_token_id,
    pad_token_id=tokenizer.eos_token_id,
    do_sample=True,
    temperature=0.3,
    max_new_tokens=100
)

output_only = tokenizer.decode(outputs[0][start_of_input:], skip_special_tokens=True)

print("output only: ", output_only)  

# here's the fun part
try:
    output_only = ast.literal_eval(llm_string_output)
    print("success - converted to python dictionary automatically")
except:
    # note: rules-based conversion may be required - see comment above - and remediation script @ https://www.github.com/llmware-ai/llmware/blobs/main/llmware/models.py - ModelCatalog.remediate_function_call_string()
    # for good example of post-processing conversion script
    
    print("fail - could not convert to python dictionary automatically - ", llm_string_output)
 
from llmware.models import ModelCatalog
slim_model = ModelCatalog().load_model("llmware/slim-summary-tiny")
response = slim_model.function_call(text,params=["key points (3)], function="summarize")

print("llmware - llm_response: ", response)

Model Card Contact

Darren Oberst & llmware team

Join us on Discord

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей