You need to agree to share your contact information to access this model

This repository is publicly accessible, but you have to accept the conditions to access its files and content.

Log in or Sign Up to review the conditions and access this model content.

pipSQL-1.3b

pipableAi

colab_notebook

Основная информация

Основа для файнтюна (FT).

Основные характеристики модели

  • Размер: 1.3 миллиарда параметров
  • Специализация: ETL (Extract, Transform, Load) и SQL-операции
  • Доступность: открытый доступ через Hugging Face
  • Превосходит ChatGPT в SQL-ориентированных бенчмарках

Преимущества для бизнес-информатики МГПУ

1. Техническая оптимальность

  • Оптимальный размер для файнтюнинга (1.3B параметров)
  • Возможность запуска на доступном оборудовании
  • Эффективное использование вычислительных ресурсов

2. Образовательные преимущества

  • Специализация на SQL подходит для курсов по базам данных
  • Поддержка ETL-процессов актуальна для бизнес-аналитики
  • Возможность интеграции в учебные проекты

3. Направления файнтюнинга для МГПУ

  • Адаптация под специфику учебных задач
  • Настройка на корпоративные кейсы
  • Интеграция российских бизнес-практик

Рекомендации по файнтюнингу

1. Приоритетные области настройки

  • Работа с российскими СУБД
  • Интеграция отраслевой специфики
  • Адаптация под образовательные задачи

2. Технические аспекты

  • Использование LoRA для эффективной настройки
  • Подготовка специализированных датасетов
  • Валидация на реальных бизнес-кейсах

3. Образовательные компоненты

  • Создание учебных примеров
  • Разработка практических заданий
  • Интеграция в существующие курсы

Потенциальные применения

  1. Учебный процесс:

    • Автоматическая проверка SQL-запросов студентов
    • Генерация учебных примеров
    • Поддержка практических занятий
  2. Исследовательская работа:

    • Анализ больших наборов данных
    • Поддержка научных исследований
    • Обработка результатов экспериментов
  3. Практические проекты:

    • Работа с реальными бизнес-задачами
    • Создание прототипов решений
    • Анализ бизнес-процессов

Эта модель представляет особую ценность для направления бизнес-информатики благодаря своей специализации на SQL и ETL-процессах.

Процесс обучения модели

Реализован через комбинированную функцию потерь, включающую:

  1. Softmax cross entropy (перекрёстная энтропия с софтмакс нормализацией) для оптимизации вероятностного распределения предсказаний

  2. Модифицированный вариант policy gradient для оптимизации стратегии принятия решений

  3. Q-loss для оценки качества действий

Оптимизация производилась в рамках EM-фреймворка (Expectation-Maximization), что обеспечивает итеративное улучшение параметров модели через чередование шагов оценки ожидания и максимизации вероятности.

Такая архитектура потерь позволяет эффективно оптимизировать как точность генерации SQL-запросов, так и стратегическое качество принимаемых моделью решений.

Бенчмаркинг :

Оценка производительности модели выполнена на основе Semantic Evaluation for Text-to-SQL with Distilled Test Suites - официального фреймворка оценки, разработанного исследовательской группой Yale и Berkeley для бенчмарков Spider, SParC и CoSQL.

Тестовый набор данных включает 2200 примеров, что обеспечивает статистически значимую оценку качества генерации SQL-запросов и семантической точности модели.

Тест на defog eval. Он содержит 200 точек тестовых данных, отобранных вручную командой defog. Вот ссылка на него:

Usage

Test Suite SQL Eval

model easy medium hard extra
sqlcoder-7b-2 72.0 58.0 40.6 37.3
pipSQL-1.3b 78.5 57.5 42.1 28.3
pipSQL-7b 63.0 40.0 30.2 25.0
sqlcoder-7b 60.6 48.2 28.3 20.4
gpt-3.5 58.8 44.7 31.0 28.4

Defog SQL-Eval Вот результаты -

image/png

License

Модель имеет открытый исходный код под лицензией Apache 2.0.

Installation

pip install transformers

Prompt

prompt = f"""<schema>{schema}</schema>
<question>{question}</question>
<sql>"""

PyTorch

from transformers import AutoModelForCausalLM, AutoTokenizer
device = "cuda"
model = AutoModelForCausalLM.from_pretrained("PipableAI/pip-sql-1.3b")
tokenizer = AutoTokenizer.from_pretrained("PipableAI/pip-sql-1.3b")

inputs = tokenizer(text, return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=200)
print(tokenizer.decode(outputs[0], skip_special_tokens=True).split('<sql>')[1].split('</sql>')[0])

Flax

from transformers import FlaxAutoModelForCausalLM, AutoTokenizer
device = "cuda"
model = FlaxAutoModelForCausalLM.from_pretrained("PipableAI/pip-sql-1.3b",from_pt=True)
tokenizer = AutoTokenizer.from_pretrained("PipableAI/pip-sql-1.3b")

inputs = tokenizer(text, return_tensors="jax")
outputs = model.generate(**inputs, max_new_tokens=200)
print(tokenizer.decode(outputs[0], skip_special_tokens=True).split('<sql>')[1].split('</sql>')[0])

Examples

Schema

CREATE TABLE Products (
  product_id number,
  parent_product_id number,
  product_name text,
  product_price number,
  product_color text,
  product_size text,
  product_description text);

CREATE TABLE Customers (
  customer_id number,
  gender_code text,
  customer_first_name text,
  customer_middle_initial text,
  customer_last_name text,
  email_address text,
  login_name text,
  login_password text,
  phone_number text,
  address_line_1 text,
  town_city text,
  county text,
  country text);

CREATE TABLE Customer_Payment_Methods (
  customer_id number,
  payment_method_code text);

CREATE TABLE Invoices (
  invoice_number number,
  invoice_status_code text,
  invoice_date time);

CREATE TABLE Orders (
  order_id number,
  customer_id number,
  order_status_code text,
  date_order_placed time);

CREATE TABLE Order_Items (
  order_item_id number,
  product_id number,
  order_id number,
  order_item_status_code text);

CREATE TABLE Shipments (
  shipment_id number,
  order_id number,
  invoice_number number,
  shipment_tracking_number text,
  shipment_date time);

CREATE TABLE Shipment_Items (
  shipment_id number,
  order_item_id number);

Questions

What are the email address, town and county of the customers who are of the least common gender?

SELECT email_address ,  town_city ,  county FROM customers GROUP BY gender_code ORDER BY count(*) ASC LIMIT 1

What are the product price and the product size of the products whose price is above average?

SELECT product_price ,  product_size FROM products WHERE product_price  > (SELECT avg(product_price) FROM products)

Which customers did not make any orders? List the first name, middle initial and last name.

SELECT T1.customer_first_name ,  T1.customer_middle_initial ,  T1.customer_last_name FROM Customers AS T1 WHERE T1.customer_id NOT IN (SELECT T2.customer_id FROM Orders AS T2)
Downloads last month
3
Safetensors
Model size
1.35B params
Tensor type
F32
·
Inference Providers NEW
This model is not currently available via any of the supported third-party Inference Providers, and the model is not deployed on the HF Inference API.

Dataset used to train timbossm/TEXT2SQL_BASE