flex_ai
0.42
Twitter (também conhecido como X)
from flex_ai import FlexAI
from openai import OpenAI
import time
# Initialize the Flex AI client
client = FlexAI ( api_key = "your_api_key_here" )
# Create dataset - for all datasets [here](https://docs.getflex.ai/quickstart#upload-your-first-dataset)
dataset = client . create_dataset (
"API Dataset New" ,
"instruction/train.jsonl" ,
"instruction/eval.jsonl"
)
# Start a fine-tuning task
task = client . create_finetune (
name = "My Task New" ,
dataset_id = dataset [ "id" ],
model = "meta-llama/Llama-3.2-1B-Instruct" ,
n_epochs = 5 ,
train_with_lora = True ,
lora_config = {
"lora_r" : 64 ,
"lora_alpha" : 8 ,
"lora_dropout" : 0.1
},
n_checkpoints_and_evaluations_per_epoch = 1 ,
batch_size = 4 ,
learning_rate = 0.0001 ,
save_only_best_checkpoint = True
)
# Wait for training completion
client . wait_for_task_completion ( task_id = task [ "id" ])
# Wait for last checkpoint to be uploaded
while True :
checkpoints = client . get_task_checkpoints ( task_id = task [ "id" ])
if checkpoints and checkpoints [ - 1 ][ "stage" ] == "FINISHED" :
last_checkpoint = checkpoints [ - 1 ]
checkpoint_list = [{
"id" : last_checkpoint [ "id" ],
"name" : "step_" + str ( last_checkpoint [ "step" ])
}]
break
time . sleep ( 10 ) # Wait 10 seconds before checking again
# Create endpoint
endpoint_id = client . create_multi_lora_endpoint (
name = "My Endpoint New" ,
lora_checkpoints = checkpoints_list ,
compute = "A100-40GB"
)
endpoint = client . wait_for_endpoint_ready ( endpoint_id = endpoint_id )
# Use the model
openai_client = OpenAI (
api_key = "your_api_key_here" ,
base_url = f" { endpoint [ 'url' ] } /v1"
)
completion = openai_client . completions . create (
model = "meta-llama/Llama-3.2-1B-Instruct" ,
prompt = "Translate the following English text to French" ,
max_tokens = 60
)
print ( completion . choices [ 0 ]. text )Esta tabela fornece uma visão geral dos grandes modelos de idiomas (LLMS) disponíveis para ajustes finos, encomendados aproximadamente do mais conhecido e menos familiar. Ele lista os detalhes -chave para cada modelo, incluindo seu nome, família, contagem de parâmetros, comprimento do contexto e recursos adicionais.
| Nome do modelo | Família | Parâmetros (B) | Comprimento do contexto | Suporte VLLM | Suporte de Lora |
|---|---|---|---|---|---|
| Nvidia-llama-3.1-nemotron-70B-Instruct-HF | llama3.1 | 70 | 131.072 | Sim | Sim |
| META-LLAMA-3.2-3B-INSTRUTA | llama3.2 | 3 | 131.072 | Sim | Sim |
| META-LLAMA-3.2-1B-INSTRUTA | llama3.2 | 1 | 131.072 | Sim | Sim |
| Mistral-Small-Instruct-2409 | mistral | 7.2 | 128.000 | Sim | Sim |
| Ministral-8B-Instruct-2410 | mistral | 8 | 128.000 | Sim | Sim |
| Mathstral-7b-v0.1 | mistral | 7 | 32.000 | Sim | Sim |
| QWEN2.5-CODER-7B-INSTRUTA | Qwen2.5 | 7 | 32.768 | Sim | Sim |
| AYA-EXPANSE-32B | Aya | 32 | 128.000 | Sim | Não |
| AYA-EXPANSE-8B | Aya | 8 | 8.000 | Sim | Não |
| Instrução Nemotron-Mini-4B | Nemotron | 4 | 4.096 | Sim | Não |
| Gemma-2-2b-it | Gemma2 | 2 | 8.192 | Sim | Sim |
| META-LLAMA-3.1-70B-INSTRUTA | llama3.1 | 70 | 131.072 | Sim | Sim |
| META-LLAMA-3.1-70B-INSTRUTA | llama3.1 | 70 | 131.072 | Sim | Sim |
| Meta-llama-3.1-70b | llama3.1 | 70 | 131.072 | Sim | Sim |
| META-LLAMA-3.1-8B-INSTRUTA | llama3.1 | 8 | 131.072 | Sim | Sim |
| Meta-llama-3.1-8b | llama3.1 | 8 | 131.072 | Sim | Sim |
| META-LLAMA-3-70B-INSTRUTA | lhama3 | 70 | 8.192 | Sim | Sim |
| Meta-llama-3-70b | lhama3 | 70 | 8.192 | Sim | Sim |
| META-LLAMA-3-8B-INSTRUTA | lhama3 | 8 | 8.192 | Sim | Sim |
| Meta-llama-3-8b | lhama3 | 8 | 8.192 | Sim | Sim |
| Mixtral-8x7b-Instruct-v0.1 | mixtral | 46.7 | 32.768 | Sim | Sim |
| Mistral-7b-Instruct-V0.3 | mistral | 7.2 | 32.768 | Sim | Sim |
| Mistral-Nemo-Instruct-2407 | mistral | 12.2 | 128.000 | Não | Não |
| Mistral-Nemo-Base-2407 | mistral | 12.2 | 128.000 | Não | Não |
| Gemma-27b-it | Gemma2 | 27 | 8.192 | Sim | Sim |
| Gemma-27b | Gemma2 | 27 | 8.192 | Sim | Sim |
| Gemma-2-9b-it | Gemma2 | 9 | 8.192 | Sim | Sim |
| Gemma-2-9b | Gemma2 | 9 | 8.192 | Sim | Sim |
| Phi-3-Medium-128K-Instruct | phi3 | 14 | 128.000 | Sim | Não |
| Phi-3-Medium-4K-Instruct | phi3 | 14 | 4.000 | Sim | Não |
| Phi-3-Small-128K-Instruct | phi3 | 7.4 | 128.000 | Sim | Não |
| Phi-3-Small-8K-Instruct | phi3 | 7.4 | 8.000 | Sim | Não |
| PHI-3-MINI-128K-INSTRUTA | phi3 | 3.8 | 128.000 | Sim | Não |
| PHI-3-MINI-4K-INSTRUTA | phi3 | 3.8 | 4.096 | Sim | Não |
| QWEN2-72B-INSTRUTA | Qwen2 | 72 | 32.768 | Sim | Sim |
| QWEN2-72B | Qwen2 | 72 | 32.768 | Sim | Sim |
| QWEN2-57B-A14B-INSTRUTA | Qwen2 | 57 | 32.768 | Sim | Sim |
| QWEN2-57B-A14B | Qwen2 | 57 | 32.768 | Sim | Sim |
| QWEN2-7B-INSTRUTA | Qwen2 | 7 | 32.768 | Sim | Sim |
| QWEN2-7B | Qwen2 | 7 | 32.768 | Sim | Sim |
| QWEN2-1.5B-INSTRUTA | Qwen2 | 1.5 | 32.768 | Sim | Sim |
| QWEN2-1.5B | Qwen2 | 1.5 | 32.768 | Sim | Sim |
| QWEN2-0.5B-INSTRUTA | Qwen2 | 0,5 | 32.768 | Sim | Sim |
| QWEN2-0.5B | Qwen2 | 0,5 | 32.768 | Sim | Sim |
| Tinyllama_v1.1 | Tinyllama | 1.1 | 2.048 | Não | Não |
| Deepseek-Coder-V2-Lite-BASE | Deepseek-Coder-V2 | 16 | 163.840 | Não | Não |
| InternLM2_5-7b-chat | Internlm2.5 | 7.74 | 1.000.000 | Sim | Não |
| InternLM2_5-7b | Internlm2.5 | 7.74 | 1.000.000 | Sim | Não |
| Jamba-v0.1 | Jamba | 51.6 | 256.000 | Sim | Sim |
| Yi-1.5-34b-chat | Yi-1.5 | 34.4 | 4.000 | Sim | Sim |
| Yi-1.5-34b | Yi-1.5 | 34.4 | 4.000 | Sim | Sim |
| Yi-1.5-34B-32K | Yi-1.5 | 34.4 | 32.000 | Sim | Sim |
| Yi-1.5-34b-chat-16k | Yi-1.5 | 34.4 | 16.000 | Sim | Sim |
| Yi-1.5-9b-chat | Yi-1.5 | 8.83 | 4.000 | Sim | Sim |
| Yi-1.5-9b | Yi-1.5 | 8.83 | 4.000 | Sim | Sim |
| Yi-1.5-9b-32k | Yi-1.5 | 8.83 | 32.000 | Sim | Sim |
| Yi-1.5-9b-chat-16k | Yi-1.5 | 8.83 | 16.000 | Sim | Sim |
| Yi-1.5-6b-chat | Yi-1.5 | 6 | 4.000 | Sim | Sim |
| Yi-1.5-6b | Yi-1.5 | 6 | 4.000 | Sim | Sim |
| C4AI-COMMAND-R-V01 | Command-R | 35 | 131.072 | Sim | Não |
Esta tabela fornece uma visão geral abrangente dos modelos disponíveis, seus tamanhos, recursos e suporte para várias técnicas de ajuste fino. Ao escolher um modelo para ajuste fino, considere fatores como tamanho do modelo, comprimento do contexto e suporte para técnicas de otimização específicas como VLLM e LORA.