/ Модель

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

Контекст
8 192 токена
Параметры
9 млрд
Размер весов
18,5 ГБ
Лицензия
Gemma
Архитектура
gemma2 · dense
Базовая модель
gemma-2-9b-it
Библиотека
transformers
Опубликована
20 ноя 2024

OrpoGemma-2-9B-TR

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

Дообученная на турецких данных модель Gemma 2 для диалога, ответов на вопросы и выполнения инструкций.

27скачиваний за 30 дней9лайковвеса обновлены23 дек 2024

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

OrpoGemma-2-9B-TR — плотная языковая модель семейства Gemma 2 от разработчика selimc, дообученная для общения и выполнения инструкций на турецком языке. Она основана на google/gemma-2-9b-it и обучена методом ORPO с использованием QLoRA на подвыборке из 1500 примеров датасета selimc/orpo-dpo-mix-TR-20k.

Модель содержит 9 млрд параметров, принимает текст и генерирует текст; заявленная длина контекста — 8192 токена. Она предназначена для ответов на вопросы, выполнения инструкций, объяснений и других сценариев генерации текста на турецком языке. В карточке приведены результаты оценивания на турецких наборах MMLU, TruthfulQA и ARC.

Модель может давать неверные или бессмысленные ответы, поэтому результаты следует проверять. Лицензия указана как gemma; применяются условия лицензии Gemma от Google.

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

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

Ограничения

Модель может выдавать неверные или бессмысленные ответы, поэтому результаты нужно проверять. Дообучение выполнено на подвыборке из 1500 примеров; приведённые в карточке оценки относятся к отдельным турецким бенчмаркам.

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

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

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

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

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

Открыть на Hugging Face

image/png

OrpoGemma-2-9B-TR

OrpoGemma-2-9B-TR is a Turkish fine-tuned version of google/gemma-2-9b-it. It is trained using the ORPO Trainer on a subset of 1500 rows from the dataset selimc/orpo-dpo-mix-TR-20k.

Training Information

  • Base Model: google/gemma-2-9b-it

  • Fine-Tuning Technique: ORPO

  • Training Data: 1500 rows from selimc/orpo-dpo-mix-TR-20k

  • Training Time: 2.5 hours on NVIDIA H100

    QLoRA Configurations:

    • lora_r: 16
    • lora_alpha: 32
    • lora_dropout: 0.05

    ORPO Training Parameters

    • lr: 2e-6
    • epochs: 3
    • per_device_train_batch_size: 8
    • gradient_accumulation_steps: 4

📈 Training Curves

image/png

image/png

OpenLLMTurkishLeaderboard_v0.2 Results

DatasetScore
MMLU_TR_V0.253.0%
Truthful_QA_TR_V0.254.3%
ARC_TR_V0.252.4%
HellaSwag_TR_V0.252.0%
GSM8K_TR_V0.264.8%
Winogrande_TR_V0.258.9%
Average55.9%

Thanks to the WiroAI team for evaluating my model. Evaluations were done without any inference engine.

Model Capabilities

  • Produces fluent, coherent, and contextually appropriate text in Turkish.
  • Delivers detailed and informative responses to a wide range of instructions and question types.
  • May still produce incorrect or nonsensical outputs, user verification is recommended.

How to Use

from transformers import pipeline, BitsAndBytesConfig, AutoTokenizer
import torch

bnb_config = BitsAndBytesConfig(
    load_in_4bit=True,
    bnb_4bit_use_double_quant=True,
    bnb_4bit_quant_type="nf4",
    bnb_4bit_compute_dtype=torch.bfloat16
)

model_id = "selimc/OrpoGemma-2-9B-TR"

tokenizer = AutoTokenizer.from_pretrained(model_id)

pipe = pipeline(
    "text-generation",
    model=model_id,
    model_kwargs={"torch_dtype": torch.bfloat16 ,'quantization_config': bnb_config},
    tokenizer=tokenizer,
    device_map="auto"
)

messages = [
    {"role": "user", "content": "Gökyüzü neden mavi?"},
]

prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)

outputs = pipe(
    prompt,
    max_new_tokens=512,
    do_sample=True,
    eos_token_id=[pipe.tokenizer.convert_tokens_to_ids("<end_of_turn>"), pipe.tokenizer.eos_token_id],
    temperature=0.67,
)

generated_text = outputs[0]['generated_text']
response = generated_text[len(prompt):]
print(response)

Example 1

messages = [
    {"role": "user", "content": """Bir web sayfasından tüm URL’leri çeken bir Python fonksiyonu yazın ve nasıl çalıştığını açıklayın."""},
]
Bir web sayfasından tüm URL’leri çeken bir Python fonksiyonu yazalım ve nasıl çalıştığını açıklayalım.

```python
import requests

def get_urls_from_page(url):
  """
  
  Bir web sayfasından tüm URL'leri çeker.

  Args:
      url (str): Web sayfasının URL'i.

  Returns:
      list: Web sayfasındaki tüm URL'ler.
  """
  response = requests.get(url)
  response.raise_for_status()

  urls = []
  for link in response.html.find_all('a', href=True):
    urls.append(link['href'])

  return urls

# Örnek kullanım

web_page_url = 'https://www.example.com/'
all_urls = get_urls_from_page(web_page_url)
print(f"Bu web sayfasındaki {len(all_urls)} URL bulunmaktadır:\n{all_urls}")
```

**Fonksiyonun nasıl çalıştığı:**

1. **`requests` kütüphanesini içer:** Bu kütüphane web sayfalarına erişmek için kullanılır.
2. **`get_urls_from_page` fonksiyonunu tanımla:** 
   * Bu fonksiyon, bir web sayfasının URL'ini alır.
   * `requests.get()` kullanarak web sayfasına erişir ve `response.raise_for_status()` kullanarak HTTP durum kodunun 200-399 aralığında olup olmadığını kontrol eder.
   * `response.html` içine bir HTML belgesini saklar.
   * `response.html.find_all('a', href=True)` kullanarak, `href` atributuna sahip tüm `<a>` etiketlerini bulur. 
   * `urls` listesine URL'leri ekler.
   * `urls` listesini döndürür.

3. **Örnek kullanım:**

   * `web_page_url` değişkenine bir web sayfasının URL'ini atar.
   * `get_urls_from_page` fonksiyonunu kullanarak web sayfasından tüm URL'leri çeker.
   * `all_urls` listesini `print()` fonksiyonu kullanarak ekrana yazdır

Example 2

messages = [
    {
        "role": "system",
        "content":
          """
          Sen bir türkçe bilmece ustasısın. Görevin:
            - Sorulan bilmecelere mantıklı ve doğru cevaplar vermek
            - Bilmecenin çözümünü adım adım açıklamak
          """
    },
    {
        "role": "user",
        "content":
          """
            Kanadı var, kuş değil.
            Suda yüzer, gemi değil.
            Kuyruğu var, kedi değil.
            Bil bakalım, bu nedir?
          """
    },
]
Kanadı var, kuş değil, suda yüzer, gemi değil, kuyruğu var, kedi değil... Bu bir **balık**! 🐟

Citation

@misc{orpogemma2-9b-tr,
  author = {Selim Çavaş},
  title = {OrpoGemma-2-9B-TR: Turkish Fine-tuned Gemma Model},
  year = {2024},
  url = {https://huggingface.co/selimc/OrpoGemma-2-9B-TR}
}

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
Gemma2ForCausalLM
Ревизия весов
90da337

0 моделей