/ Модель

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

Контекст
32 768 токенов
Параметры
7,1 млрд
Лицензия
Apache 2.0
Архитектура
mixtral · MoE
Опубликована
12 янв 2024

laser-polyglot-4x7b

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

Экспериментальная объединённая модель Mixtral для мультиязычной генерации текста на английском, японском и китайском языках.

88скачиваний за 30 дней1лайквеса обновлены4 мар 2024

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Polyglot-4x7b — экспериментальная мультиязычная модель на архитектуре Mixture of Experts семейства Mixtral, опубликованная macadeliccc. Авторы объединили четыре модели на базе Mistral 7B, ориентированные на английский, японский и китайский языки; задумка проекта — распределить языковые способности между экспертами. В README также приведены результаты оценок на задачах рассуждения и общих знаний.

Модель предназначена для генерации текста и ответов на запросы на английском, японском и китайском языках. В метаданных указан размер 7,1 млрд параметров и контекст 32 768 токенов; веса доступны в формате Safetensors. Модель распространяется по лицензии Apache 2.0. README описывает экспериментальную идею, но не приводит подробностей о качестве по каждому языку или сравнительных испытаниях.

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

  • генерация ответов на английском языке
  • генерация текста на японском языке
  • генерация текста на китайском языке
  • эксперименты с мультиязычной маршрутизацией экспертов

Ограничения

Проект представлен как эксперимент; в README не описаны отдельные оценки качества для каждого поддерживаемого языка. Для работы над полиглотной токенизацией в карточке указана задача, поэтому языковая эффективность может зависеть от используемых токенизаторов базовых моделей.

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

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

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

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

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

Открыть на Hugging Face

Polyglot-4x7b-24b

polyglot

Polyglot-4x7b is a Mixture of Experts approach to a multilingual model.

This project is an experiment to see if each expert can be of a different language. The answer is yes.

The model is a merge of models that are capable of Chinese and Japanese output.

  • teknium/OpenHermes-2.5-Mistral-7B
  • oshizo/japanese-e5-mistral-7b_slerp
  • cognitivecomputations/dolphin-2.6-mistral-7b-dpo-laser
  • s3nh/Mistral-7B-Evol-Instruct-Chinese

TODO:

  1. [] polyglot tokenizer

Other polyglot models

Code Example

Inference Colab Live demo available on Spaces

from transformers import AutoModelForCausalLM, AutoTokenizer

def generate_response(prompt):
    """
    Generate a response from the model based on the input prompt.

    Args:
    prompt (str): Prompt for the model.

    Returns:
    str: The generated response from the model.
    """
    # Tokenize the input prompt
    inputs = tokenizer(prompt, return_tensors="pt")

    # Generate output tokens
    outputs = model.generate(**inputs, max_new_tokens=256, eos_token_id=tokenizer.eos_token_id, pad_token_id=tokenizer.pad_token_id)

    # Decode the generated tokens to a string
    response = tokenizer.decode(outputs[0], skip_special_tokens=True)

    return response

# Load the model and tokenizer
model_id = "macadeliccc/laser-polyglot-4x7b"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, load_in_4bit=True)

# Example prompts in different languages
english_prompt = "Write a quicksort algorithm in python"
chinese_prompt = "用Python写一个快速排序算法"
japanese_prompt = "Pythonでクイックソートアルゴリズムを書いてください"

# Generate and print responses for each language
print("English Response:")
print(generate_response(english_prompt), "\n")

print("Chinese Response:")
print(generate_response(chinese_prompt), "\n")

print("Japanese Response:")
print(generate_response(japanese_prompt), "\n")

Example Output

English:

Write a quicksort algorithm in python.

def quicksort(arr):
    if len(arr) <= 1:
        return arr
    else:
        pivot = arr[0]
        less = [i for i in arr[1:] if i <= pivot]
        greater = [i for i in arr[1:] if i > pivot]
        return quicksort(less) + [pivot] + quicksort(greater)

arr = [5, 2, 9, 1, 5, 7, 4, 8, 6, 3]
print(quicksort(arr))

This is a simple implementation of the quicksort algorithm in python. The function quicksort takes an array as input and returns a sorted array. The algorithm works by selecting a pivot element from the array and partitioning the other elements into two sub-arrays, according to whether they are less than or greater than the pivot. The process is then repeated recursively on the sub-arrays until the entire array is sorted.

Chinese Response:

用Python写一个快速排序算法

def quick_sort(arr):
    if len(arr) <= 1:
        return arr
    else:
        pivot = arr[0]
        less = [i for i in arr[1:] if i <= pivot]
        greater = [i for i in arr[1:] if i > pivot]
        return quick_sort(less) + [pivot] + quick_sort(greater)

arr = [3, 5, 2, 1, 4, 6, 8, 7]
print(quick_sort(arr))

这个程序的时间复杂度为O(nlogn),空间复杂度为O(n)。

Japanese Response:

Pythonでクイックソートアルゴリズムを書いてください。

def quicksort(arr):
    if len(arr) <= 1:
        return arr
    pivot = arr[0]
    left = [x for x in arr[1:] if x < pivot]
    right = [x for x in arr[1:] if x >= pivot]
    return quicksort(left) + [pivot] + quicksort(right)

print(quicksort([3,6,8,10,1,5,9,2,4,7]))

このコードはクイックソートアルゴリズムを実装しています。クイックソートは一種の分割と conquers アルゴリズムで、配列を分割し、それぞれの部分配列を再帰的にソートします。

この実装では、配列の最初の要素をピボットとして使用します。そして、配列を2つの

Evaluations

TasksVersionFiltern-shotMetricValueStderr
arc_challengeYamlnone0acc0.5495±0.0145
none0acc_norm0.5794±0.0144
arc_easyYamlnone0acc0.8304±0.0077
none0acc_norm0.8068±0.0081
boolqYamlnone0acc0.8749±0.0058
hellaswagYamlnone0acc0.6276±0.0048
none0acc_norm0.8157±0.0039
openbookqaYamlnone0acc0.3180±0.0208
none0acc_norm0.4460±0.0223
piqaYamlnone0acc0.8139±0.0091
none0acc_norm0.8237±0.0089
winograndeYamlnone0acc0.7419±0.0123

Open LLM Leaderboard Evaluation Results

Detailed results can be found here

MetricValue
Avg.65.79
AI2 Reasoning Challenge (25-Shot)64.16
HellaSwag (10-Shot)84.98
MMLU (5-Shot)63.88
TruthfulQA (0-shot)55.47
Winogrande (5-shot)77.82
GSM8k (5-shot)48.45

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
MixtralForCausalLM
Ревизия весов
00ff4d5

0 моделей