/ Модель

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

Лицензия
Llama 3
Базовая модель
Meta-Llama-3-8B
Библиотека
transformers
Опубликована
23 апр 2024

CodeLlama3-8B-Python

Генерация текстаТекст → текст

Дообученная на примерах кода и пояснений модель Llama 3 для генерации Python-кода и объяснения его работы.

2скачиваний за 30 дней13лайковвеса обновлены25 апр 2024

Бенчмарки

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

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

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

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

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

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

Markhit/CodeLlama3-8B-Python — дообученная Markhit модель генерации кода на базе Meta-Llama-3-8B. Она предназначена для создания кода на Python по запросу и пояснения к нему в формате диалога. Модель обучали полным дообучением параметров на наборе примерно из 23 тысяч примеров с кодом и пояснениями; в метаданных указан датасет ajibawa-2023/Python-Code-23k-ShareGPT. Для работы заявлен контекст 4096 токенов.

Модель может быть полезна для генерации алгоритмов и функций на Python, а также для получения объяснений к сгенерированному коду. Карточка приводит примеры реализации алгоритмов сортировки и поиска. Модель представлена в формате safetensors и использует лицензию Llama 3; применяйте её с учётом условий этой лицензии. Как и другие языковые модели для кода, она может выдавать ошибочный или неполный код, поэтому результат следует проверять.

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

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

Ограничения

Сгенерированный код может содержать ошибки или быть неполным и требует проверки. Контекст модели ограничен 4096 токенами.

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

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

Открыть на Hugging Face

Large Language Models (LLMs) are good with code generations. Sometimes LLMs do make mistakes in code generation. How about if they can give detailed explanation along with the code. This is what I have tried over here. The base Llama-3-8B model was used for training purpose. It is trained on around 23000+ set of codes. Each set having 2 conversations. This data was generated using GPT-3.5, GPT-4 etc. This conversation is in Vicuna/ShareGPT format. Each set, along with code, has detailed explanation.

Training framework: axolotl

Training details:

  • epochs: 3
  • learning rate: 0.0002
  • learning rate scheduler type: cosine
  • warmup_steps: 10
  • cutoff len (i.e. context length): 4096
  • gradient_accumulation_steps: 4
  • micro_batch_size: 4
  • fine-tuning type: full parameters
  • optimizer: adamw_bnb_8bit

Examples

The following are some examples generated by our CodeLlama3-8B-python model:

User:Based on the principle of the quicksort algorithm, implement a quicksort algorithm in Python without using any built-in library functions. The input should be a list where all elements are of float type, and it should return a sorted list. Remember to add comments to the code.

Assistant: quicksort algorithm: """ A sorting algorithm that works by selecting a pivot element and partitioning the array around this pivot element. Then, recursively applying the same process to the two partitions until the entire array is sorted. """

def quicksort(arr):
    if len(arr) <= 1:
        return arr
    
    # Selecting a pivot element
    pivot = arr[len(arr)//2]
    
    # Partitioning the array around the pivot element
    left = [x for x in arr if x > pivot]
    middle = [x for x in arr if x == pivot]
    right = [x for x in arr if x < pivot]
    
    # Recursively applying the quicksort algorithm to the left and right partitions
    return quicksort(left) + middle + quicksort(right)

The quicksort function takes an input list arr and returns a sorted list. It uses the quicksort algorithm to achieve this.

User:Based on the principle of the KMP algorithm, implement a KMP algorithm in Python and add comments to the code.

Assistant:

def kmp_algorithm(pattern, text):
    n = len(pattern)
    m = len(text)

    # Build the table
    table = [0] * m
    length = 1
    i = 1
    while i < n:
        if pattern[i] == text[length]:
            table[length] = i
            length += 1
            i += 1
        else:
            if length > 1:
                length = min(length, table[i - 1])
            table[i] = length
            i += 1

    # Find all matches
    matches = []
    i = 0
    j = 0
    while i < n and j < m:
        if pattern[i] == text[j]:
            i += 1
            j += 1
            if i == n:
                matches.append(text[j - i: j])

    return matches

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

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

GPU в ailist

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

Нельзя запустить

Доступ к модели ограничен автором; у платформы нет доступа к весам.

Ревизия весов
040accf

0 моделей