aswin1906/llama-7b-sql-2k
aswin1906
Pregunta y respuesta
Instrucciones de ajuste fino se ha vuelto extremadamente popular desde el lanzamiento (accidental) de LLaMA. El tamaño de estos modelos y las peculiaridades de entrenarlos en instrucciones y respuestas introducen más complejidad y, a menudo, requieren técnicas de aprendizaje eficientes en términos de parámetros como QLoRA. Referencia al conjunto de datos en aswin1906/llama2-sql-instruct-2k
Como usar
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
import torch, re
from rich import print
class Training:
def __init__(self) -> None:
self.model_name= "meta-llama/Llama-2-7b-chat-hf"
self.dataset= "aswin1906/llama2-sql-instruct-2k"
self.model_path= "aswin1906/llama-7b-sql-2k"
self.instruction= 'You are given the following SQL table structure described by CREATE TABLE statement: CREATE TABLE "l" ( "player" text, "no" text, "nationality" text, "position" text, "years_in_toronto" text, "school_club_team" text ); Write an SQL query that provides the solution to the following question: '
self.model = AutoModelForCausalLM.from_pretrained(
self.model_path,
load_in_8bit=False,
torch_dtype=torch.float16,
device_map="auto"
)
self.tokenizer = AutoTokenizer.from_pretrained(self.model_path)
def inference(self, prompt):
"""
Prompting started here
"""
# Run text generation pipeline with our next model
pipe = pipeline(task="text-generation", model=self.model, tokenizer=self.tokenizer, max_length=200)
result = pipe(f'[INST] {self.instruction}"{prompt}". [/INST]')
response= result[0]['generated_text'].split('[/INST]')[-1]
return response
train= Training()
instruction= re.split(';|by CREATE', train.instruction)
print(f"[purple4] ------------------------------Instruction--------------------------")
print(f"[medium_spring_green] {instruction[0]}")
print(f"[bold green]CREATE{instruction[1]};")
print(f"[medium_spring_green] {instruction[2]}")
print(f"[purple4] -------------------------------------------------------------------")
while True:
# prompt = 'What position does the player who played for butler cc (ks) play?'
print("[bold blue]#Human: [bold green]", end="")
user = input()
print('[bold blue]#Response: [bold green]', train.inference(user))
Contact [email protected] for model training code
Funcionalidades
- Ajuste fino de instrucciones usando qLORA para un conjunto de datos SQL personalizado
- Modelo de generación de texto
- Compatible con AutoTrain
- Compatible con Inferencia de Generación de Texto
- Compatible con Puntos de Inferencia
- Basado en transformers
- Utiliza PyTorch
Casos de uso
- Generación automática de texto basado en un prompt
- Creación de consultas SQL a partir de descripciones en lenguaje natural
- Entrenamiento y ajuste fino de modelos para tareas específicas
- Mejora en la eficiencia de los modelos mediante técnicas como QLoRA