Ajuste fino de modelos arctic-extract¶
Você pode fazer o ajuste fino de modelos arctic-extract usando a função Snowflake Cortex Fine-tuning e Conjuntos de dados do Snowflake. Depois disso, o modelo ajustado poderá ser usado para inferência com a função AI_EXTRACT.
Sintaxe¶
Para sintaxes, notas de uso e exemplos específicos, consulte:
FINETUNE ('CREATE') (SNOWFLAKE.CORTEX)¶
Cria um trabalho de ajuste fino.
Sintaxe¶
Parâmetros obrigatórios¶
'CREATE'Especifica que você deseja criar um trabalho de ajuste fino.
'training_dataset'Objeto de conjunto de dados a ser usado para treinamento. Para obter mais informações, consulte Requisitos do conjunto de dados.
Parâmetros opcionais¶
'validation_dataset'Objeto de conjunto de dados a ser usado para validação. Para obter mais informações, consulte Requisitos do conjunto de dados.
'options'Opcional. Uma representação de cadeia de caracteres de um objeto JSON que define hiperparâmetros de treinamento para o trabalho. Você pode especificar
max_epochscom um número inteiro de 2 a 10 (inclusive) para controlar quantas épocas o trabalho executa. Se você omitiroptions, o número de épocas será determinado automaticamente pelo sistema.Para o formato JSON do argumento
options, consulte FINETUNE (“CREATE”) (SNOWFLAKE.CORTEX).
Requisitos de controle de acesso¶
Privilégio |
Objeto |
Notas |
|---|---|---|
USAGE ou OWNERSHIP |
DATABASE |
O banco de dados no qual o objeto de conjunto de dados está armazenado. |
USAGE ou OWNERSHIP |
SCHEMA |
O esquema em que o objeto de conjunto de dados está armazenado. |
READ ou OWNERSHIP |
STAGE |
A área de preparação nomeada interna ou externa que armazena os arquivos de documentos. Para obter mais informações, consulte Funções de AI do Snowflake Cortex (incluindo funções LLM). |
USAGE ou OWNERSHIP |
SCHEMA |
O esquema no qual o modelo ajustado está armazenado. |
CREATE MODEL |
SCHEMA |
O esquema no qual o modelo ajustado está armazenado. |
Além disso, para usar a função FINETUNE, a função ACCOUNTADMIN deve conceder a função de banco de dados SNOWFLAKE.CORTEX_USER ao usuário que chamará a função. Consulte o tópico Privilégios obrigatórios funções LLM para obter mais detalhes.
Exemplo¶
O exemplo a seguir adiciona o argumento options para definir max_epochs:
FINETUNE ('DESCRIBE') (SNOWFLAKE.CORTEX)¶
Descreve as propriedades de um trabalho de ajuste fino.
Para sintaxe e parâmetros, consulte FINETUNE ('DESCRIBE') (SNOWFLAKE.CORTEX).
Um exemplo de saída de um trabalho bem-sucedido durante o ajuste fino do modelo arctic-extract:
Requisitos do conjunto de dados¶
O conjunto de dados usado para treinamento e validação deve conter as seguintes colunas:
- Arquivo:
Uma cadeia de caracteres contendo o caminho do arquivo para o documento para extração. O caminho pode fazer referência a um arquivo em uma área de preparação interna ou em uma área de preparação externa nomeada (por exemplo, Amazon S3, Google Cloud Storage ou Microsoft Azure). Por exemplo:
@db.schema.stage/file.pdf- Prompt:
Um valor JSON que especifica pares de chave e pergunta para extração em um dos formatos suportados pelo argumento
responseFormatda função AI_EXTRACT.Para obter mais informações, consulte AI_EXTRACT.
- Resposta:
Um objeto JSON contendo pares de chave e resposta.
Nota
Os nomes das colunas não diferenciam maiúsculas de minúsculas e podem estar em qualquer ordem no conjunto de dados; no entanto, todas as colunas necessárias (File, Prompt e Response) devem estar presentes para que o conjunto de dados seja válido. Colunas adicionais no conjunto de dados são ignoradas.
Ao preparar o conjunto de dados, observe o seguinte:
O esquema do modelo com ajuste fino é o conjunto exclusivo de todas as perguntas no conjunto de dados.
As respostas na coluna
Responsedevem corresponder às perguntas na colunaPromptpela correspondência das chaves nas colunasPrompteResponse.Você não precisa especificar o mesmo conjunto de perguntas para cada documento.
Para melhorar a precisão do modelo, adicione um prompt e uma linha de resposta para cada pergunta, mesmo que a resposta padrão do modelo esteja correta. Essa ação confirma que a resposta padrão é precisa.
Para obter mais informações sobre conjuntos de dados, consulte Conjuntos de dados do Snowflake.
Conjunto de dados de exemplo¶
Arquivo |
Prompt |
Resposta |
|---|---|---|
|
|
|
|
|
|
|
Nota
Ao criar o conjunto de dados, defina a resposta como None se o documento não contiver uma resposta à pergunta.
Notas de uso¶
A Snowflake recomenda usar pelo menos 20 documentos para ajuste fino.
No conjunto de dados de treinamento, no máximo 100 perguntas exclusivas são permitidas para extração de entidade, e no máximo 10 perguntas exclusivas são permitidas para extração de tabela.
Os documentos de treinamento e de validação podem residir em uma área de preparação interna ou em uma área de preparação externa nomeada. Para saber requisitos de acesso e a configuração quando usar o armazenamento em nuvem, consulte Funções de AI do Snowflake Cortex (incluindo funções LLM).
As áreas de preparação criptografadas do lado do cliente são incompatíveis. Para obter mais informações, consulte AI_EXTRACT.
O ajuste fino de modelos
arctic-extracté atualmente incompatível com as políticas de redes personalizadas.Os formatos de arquivo compatíveis com documentos são:
PDF
PNG
JPG, JPEG
TIFF, TIF
O número máximo de páginas por documento é:
64 páginas para AWS US West 2 (Oregon) e AWS Europe Central 1 (Frankfurt)
125 páginas para AWS US East 1 (N. Virginia) e Azure East US 2 (Virginia)
O número máximo de arquivos de documentos exclusivos no conjunto de dados é 1.000. Você pode referenciar o mesmo arquivo de documento várias vezes.
Existe um limite de quantas perguntas e documentos podem estar em um trabalho de ajuste fino. O número de perguntas multiplicado pelo número total de páginas em todos os arquivos de documento no conjunto de dados deve ser igual ou inferior a 50.000.
Por exemplo, algumas combinações válidas são:
Número de perguntas
Número de páginas
Número de referências de arquivos de documento [1]
10
1
5.000
100
1
500
10
10
500
25
10
200
Criar um trabalho de ajuste fino¶
Para criar um trabalho de ajuste fino, você deve criar um objeto de conjunto de dados que contenha os dados de treinamento. O exemplo a seguir mostra como criar um objeto de conjunto de dados e usá-lo para criar um trabalho de ajuste fino para um modelo arctic-extract.
Crie a tabela que conterá os dados de treinamento:
Preencha a tabela com os dados de treinamento:
Crie o objeto de conjunto de dados:
Crie uma nova versão do conjunto de dados que adiciona os dados de treinamento, usando as funções FL_GET_STAGE e FL_GET_RELATIVE_PATH, para obter os caminhos dos arquivos:
Crie um trabalho de ajuste fino:
Usar seu modelo arctic-extract com ajuste fino para inferência¶
Para usar o modelo arctic-extract com ajuste fino para inferência, certifique-se de ter os seguintes privilégios no objeto de modelo:
OWNERSHIP
USAGE
READ
Para usar o modelo arctic-extract com ajuste fino para inferência com a função AI_EXTRACT, especifique o modelo usando o parâmetro model, como mostrado no exemplo a seguir:
Você pode substituir perguntas usadas para ajuste fino usando o parâmetro responseFormat, como mostrado no exemplo a seguir:
Para obter mais informações, consulte AI_EXTRACT.
Dica
Você pode copiar seu modelo arctic-extract ajustado entre bancos de dados e/ou esquemas dentro de uma conta ou entre contas. Para obter mais informações, consulte Cópia de modelos de arctic-extract entre bancos de dados, esquemas e contas.