configurar | opções (como nas configurações de software de computador) | descrições | desvantagens |
---|---|---|---|
base_model | Caminho da cadeia de caracteres para o arquivo do modelo básico | Essa opção especifica o caminho para o arquivo do modelo básico a ser usado como ponto de partida para o treinamento de um novo modelo. O modelo será ajustado com base nos novos dados fornecidos. | É importante escolher o modelo subjacente que seja relevante para a tarefa e os dados, caso contrário, o processo de ajuste fino pode não melhorar o desempenho. |
pasta_img | Caminho da cadeia de caracteres para a pasta que contém as imagens de treinamento | Essa opção especifica o caminho para a pasta que contém as imagens de treinamento usadas para treinar o modelo. | A qualidade e a quantidade de imagens de treinamento podem afetar muito o desempenho do modelo. Ter imagens suficientemente diversificadas e de alta qualidade é fundamental para o aprendizado do modelo. |
pasta_de_saída | Caminho da cadeia de caracteres para a pasta em que o modelo de saída está armazenado | Essa opção especifica o caminho para a pasta em que o modelo de saída é salvo após o treinamento. | A pasta de saída deve ter espaço de armazenamento suficiente para salvar os arquivos de modelo. É importante fazer backup dos arquivos do modelo regularmente, caso os dados sejam perdidos e o trabalho seja perdido. |
change_output_name | booleano | Especifica se o nome de saída do modelo de treinamento deve ser alterado. Se definido como True, o nome de saída será alterado; caso contrário, permanecerá inalterado. | N/A |
save_json_folder | string (ciência da computação) | Caminho para a pasta onde o arquivo json do modelo de treinamento será salvo. | N/A |
load_json_path | string (ciência da computação) | O caminho para o arquivo json que será usado para carregar os parâmetros do modelo. Isso é útil para continuar o treinamento a partir de um ponto de verificação anterior. | O arquivo especificado por load_json_path deve existir e ser um arquivo json válido. |
json_load_skip_list | lista de strings | Especifica uma lista de cadeias de caracteres para chaves na configuração do modelo que não são carregadas no arquivo .json salvo. | Se você incluir acidentalmente as chaves necessárias em json_load_skip_list, o modelo poderá não funcionar como esperado. |
multi_run_folder | string (ciência da computação) | O nome da pasta em que os resultados de várias execuções de treinamento são armazenados, no formato {multirun_folder}/run{run_number}/. | Se várias execuções forem feitas sem alterar o nome da pasta multi_run_folder, os resultados anteriores serão substituídos. |
save_json_only | booleano | Se definido como True, somente o arquivo de configuração do modelo (formato .json) será salvo, e não os pontos de verificação completos do modelo. | O arquivo .json sozinho não recuperará o modelo e, se save_json_only estiver definido como True, você deverá começar o treinamento do zero. |
caption_dropout_rate | Números de ponto flutuante entre 0 e 1 | Especifica a taxa de descarte aleatório de títulos durante o treinamento. | Se esse valor for definido como muito alto, informações importantes no título poderão ser perdidas, resultando em resultados de qualidade inferior. |
caption_dropout_every_n_epochs | inteiro (matemática) | Especifique a frequência (em rodadas) em que as quedas de títulos são realizadas durante o treinamento. | Se esse valor for definido como muito alto, o modelo poderá não ser exposto a uma diversidade de títulos suficiente durante o treinamento, levando a um ajuste excessivo. Se for definido como muito baixo, o modelo poderá não ter tempo suficiente para aprender com as manchetes antes de ser descartado. |
caption_tag_dropout_rate | Números de ponto flutuante entre 0 e 1 | Controla a taxa de descarte aleatório de títulos ao treinar o modelo. Um valor alto significa que mais títulos serão descartados, enquanto um valor baixo significa que menos títulos serão descartados. | A definição de valores altos pode resultar na perda de informações importantes no título, levando a resultados de qualidade inferior. |
net_dim | inteiro (matemática) | Essa configuração determina o número de unidades ocultas na arquitetura de rede do modelo. Valores maiores de net_dim resultam em um modelo mais complexo e maior, mas também exigem mais recursos computacionais e podem levar a um ajuste excessivo se o modelo for muito grande e não houver dados de treinamento suficientes. | Ajuste excessivo, aumentando os recursos computacionais |
alfa | ponto flutuante | Essa configuração determina a capacidade de aprendizagem usada durante o treinamento. Valores maiores de alfa podem levar a uma convergência mais rápida, mas se forem definidos como muito altos, também podem levar a um ajuste excessivo do modelo ou à convergência para soluções abaixo do ideal. Valores alfa menores podem resultar em convergência lenta ou nenhuma convergência. | Solução abaixo do ideal, convergência lenta |
programador | string (ciência da computação) | Essa configuração determina a programação da taxa de aprendizado usada durante o treinamento. As opções comuns incluem "step" (etapa), "cosine" (cosseno) e "plateau" (platô). O plano de etapas reduz a taxa de aprendizado por um fator fixo após um número especificado de iterações, enquanto o plano de cosseno reduz a taxa de aprendizado por uma função de cosseno. O plano de platô reduz a taxa de aprendizado quando a perda de validação para de melhorar. | Solução abaixo do ideal, convergência lenta, dificuldade em escolher um plano adequado |
cosine_restarts | inteiro (matemática) | O número de vezes que o esquema de recozimento de cosseno deve ser reiniciado. Um número maior de reinícios permite que a taxa de aprendizado mude com mais frequência, reduzindo o risco de cair em uma taxa de aprendizado abaixo do ideal. | Aumentar o número de reinícios pode levar a mudanças mais frequentes na taxa de aprendizado, o que pode tornar o processo de treinamento mais instável e difícil de ajustar. |
potência do planejador | ponto flutuante | O parâmetro de potência do escalonador. Valores maiores de potência significam que a taxa de aprendizado muda mais lentamente. | A definição de valores de potência mais altos pode resultar em uma taxa de aprendizado muito lenta para convergir em um período de tempo razoável. Por outro lado, a definição de valores de potência mais baixos pode resultar em uma taxa de aprendizado muito agressiva, fazendo com que o modelo se ajuste demais aos dados de treinamento. |
relação_de_aquecimento_lr | ponto flutuante | A proporção entre a taxa de aprendizagem máxima e a taxa de aprendizagem inicial durante o período de aquecimento. A taxa de aprendizagem aumenta gradualmente do valor inicial para o valor máximo. | Uma alta taxa de taxa de aprendizagem de aquecimento pode resultar em um modelo que converge lentamente ou não converge. Por outro lado, uma taxa baixa de taxa de aprendizagem de aquecimento pode resultar em uma taxa de aprendizagem muito baixa para treinar o modelo de forma eficaz. |
taxa de aprendizado | ponto flutuante | Essa opção define a taxa de aprendizado do otimizador usado para treinar o modelo. Ela determina o tamanho da etapa na qual o otimizador atualiza os parâmetros do modelo. O valor padrão é 0,0001. | Uma taxa de aprendizado alta pode fazer com que o modelo converja muito rapidamente para uma solução abaixo do ideal, enquanto uma taxa de aprendizado baixa pode resultar em um processo de treinamento lento que pode convergir para uma solução ruim. A taxa de aprendizagem deve ser cuidadosamente definida para equilibrar essas compensações. |
text_encoder_lr | ponto flutuante | Essa opção define especificamente a taxa de aprendizado do componente do codificador de texto do modelo. Se esse valor for definido como um valor diferente de learning_rate, ele permitirá o ajuste fino especial do codificador de texto. | A definição de text_encoder_lr em um valor diferente de learning_rate pode resultar em um ajuste excessivo do codificador de texto e pode não se generalizar bem para novos dados. |
unet_lr | ponto flutuante | Essa opção define especificamente a taxa de aprendizado do componente UNet do modelo. Se esse valor for definido como um valor diferente de learning_rate, ele permitirá o ajuste fino específico do UNet. | A definição de unet_lr em um valor diferente de learning_rate pode resultar em uma adaptação excessiva à UNet e pode não ser bem generalizada para novos dados. |
num_workers | inteiro (matemática) | Especifica o número de threads de trabalho para carregar os dados. Aumentar o número de threads de trabalho pode acelerar o carregamento de dados e o treinamento, mas também pode aumentar o uso da memória. | Um número excessivo de threads de trabalho pode levar a um estouro de memória e tornar o processo de treinamento mais lento. |
persistent_workers | booleano | Determine se deve usar threads de trabalho persistentes. Os threads de trabalho persistentes mantêm uma fila de amostras de dados, permitindo que os dados sejam carregados com mais eficiência. | Pode resultar em desempenho degradado do sistema, especialmente em sistemas com recursos limitados, como memória ou E/S de disco. |
tamanho_do_lote | inteiro (matemática) | Especifica o número de amostras incluídas em cada lote. Tamanhos de lote maiores podem levar a um treinamento mais eficiente, mas também podem aumentar o uso da memória e tornar a convergência mais lenta. | Um tamanho de lote muito grande pode levar a um estouro de memória e retardar o processo de treinamento, enquanto um tamanho de lote muito pequeno pode levar a uma convergência lenta. |
num_epochs | inteiro (matemática) | Especifica quantas passagens completas devem ser realizadas nos dados de treinamento. Mais rodadas resultarão em um modelo mais preciso, mas também levarão mais tempo para serem executadas. | Tempos de treinamento mais longos podem exceder o ajuste dos dados se forem usadas muitas rodadas. |
save_every_n_epochs | inteiro (matemática) | Especifique a frequência com que o modelo deve ser salvo durante o treinamento. Por exemplo, definir esse valor como 5 significa que o modelo é salvo a cada 5 rodadas. | ocupam mais espaço de armazenamento porque os modelos serão salvos com mais frequência. |
shuffle_captions | booleano | Especifica se os dados de treinamento devem ser embaralhados entre as rodadas. O embaralhamento pode ajudar a evitar que o modelo caia em mínimos locais, mas também pode tornar o treinamento inconsistente. | Se a ordem dos dados de treinamento for significativa, isso pode levar a um treinamento inconsistente. |
keep_tokens | inteiro (matemática) | O número de tokens mais frequentes no corpus de texto usado para treinamento. Os tokens que aparecerem com menos frequência do que keep_tokens serão substituídos por um token desconhecido (""). Valores menores resultarão em um tamanho de vocabulário menor, o que pode reduzir os requisitos de memória do modelo, mas também pode resultar em perda de informações. | Se keep_tokens for definido como muito baixo, as informações poderão ser perdidas. |
max_steps | inteiro (matemática) | O número máximo de etapas a serem executadas durante o treinamento. Quando o modelo vir o lote de dados max_steps, o treinamento será interrompido. | Se max_steps for definido como muito baixo, o modelo poderá não ser totalmente treinado. Se for definido como muito alto, o treinamento poderá demorar muito. |
tag_occurrence_txt_file | string (ciência da computação) | Caminho para um arquivo de texto que contém informações sobre a ocorrência de rótulos. As informações de ocorrência do rótulo são usadas para ponderar a função de perda durante o treinamento. | Se os rótulos parecerem ter informações indisponíveis ou não estiverem especificados corretamente, o modelo pode não ter sido treinado corretamente. |
sort_tag_occurrence_alphabetically | verdadeiro ou falso | Se definida como true, as tags em tag_occurrence_txt_file serão classificadas em ordem alfabética. Essa opção pode ser usada para manter a ordem das tags consistente e garantir que as tags semelhantes sejam agrupadas. | N/A |
train_resolution | valor inteiro | Esse valor determina a resolução da imagem de treinamento. Resoluções mais altas produzirão imagens mais detalhadas, mas também exigirão mais memória e recursos computacionais. | O aumento da resolução pode aumentar significativamente o tempo de treinamento e os requisitos de memória, especialmente se os dados de treinamento forem grandes. |
min_bucket_resolution | valor inteiro | Esse valor determina o tamanho mínimo do compartimento usado para treinamento. Um tamanho menor de intervalo pode levar a um processo de treinamento mais rápido, mas também pode causar ajuste excessivo ou reduzir a qualidade dos resultados. | A redução excessiva do tamanho do balde pode levar a um treinamento menos eficiente e a uma qualidade inferior dos resultados. |
max_bucket_resolution | inteiro (matemática) | Especifica a resolução máxima da imagem dos dados de treinamento. Se a resolução dos dados de treinamento for maior que max_bucket_resolution, ela será reduzida. | Um valor alto de max_bucket_resolution pode resultar em um tempo de treinamento mais longo e maior uso de memória, enquanto um valor baixo pode reduzir a qualidade da imagem gerada. |
lora_model_for_resume | string (ciência da computação) | Especifica um caminho para um modelo LoRA pré-treinado que será usado para retomar o treinamento a partir de um ponto de verificação anterior. | Retomar o treinamento a partir de um modelo pré-treinado pode levar a um ajuste excessivo se os novos dados de treinamento forem significativamente diferentes dos dados de treinamento originais. |
save_state | booleano | Especifica se o estado de treinamento deve ser salvo após cada rodada. Se for definido como True, o estado de treinamento será salvo no arquivo lora_model_for_resume. | Salvar estados de treinamento com frequência pode resultar em tempos de treinamento mais longos e maior uso do disco. |
load_previous_save_state | verdadeiro ou falso | Especifica se deve carregar o estado salvo anteriormente do modelo durante o treinamento. Se for definido como True, o treinamento será retomado a partir do estado salvo anteriormente. Se for definido como False, o treinamento começará do zero. | Se um estado salvo anteriormente não estiver disponível ou tiver sido corrompido, o treinamento não será recuperado e começará do zero, o que pode resultar em tempos de treinamento mais longos e degradação do desempenho. |
comentário_de_treinamento | string (ciência da computação) | Especifica o comentário que será adicionado ao nome do modelo salvo. Isso pode ser usado para distinguir entre diferentes modelos treinados com diferentes configurações ou parâmetros. | não ter |
unet_only | verdadeiro ou falso | Especifica se devem ser treinados apenas os componentes UNet do modelo. Se for definido como True, somente o componente UNet do modelo será treinado e o componente do codificador de texto não será treinado. Se for definido como False, os componentes UNet e codificador de texto do modelo serão treinados. | Treinar somente o componente UNet do modelo pode resultar em desempenho inferior ao treinamento de ambos os componentes ao mesmo tempo, pois o componente codificador de texto é uma parte importante do modelo e ajuda a codificar informações textuais no processo de treinamento. |
text_only | verdadeiro ou falso | Determina se o modelo será treinado somente com texto ou com texto e imagens. Definir essa opção como True resultará em um treinamento mais rápido, mas com geração de imagens de qualidade inferior. Definir esse valor como False resultará em um treinamento mais lento, mas com geração de imagens de maior qualidade. | Se for definido como True, a imagem resultante não será tão precisa ou detalhada como se fosse definida como False. |
pasta_imagem_registro | string (ciência da computação) | O caminho para o diretório de imagens usado para treinamento. | Essa opção só é relevante se text_only estiver definido como False. Se nenhuma imagem for fornecida, o modelo será treinado somente com texto e nenhuma imagem será gerada. |
clip_skip | verdadeiro ou falso | Determina se o modelo deve ignorar imagens cortadas nos dados de treinamento. As imagens cortadas são aquelas que têm tamanho muito pequeno ou muito grande em comparação com train_resolution. | Se definido como True, o modelo pode não ser capaz de aprender com algumas imagens nos dados de treinamento. Se for definido como False, o treinamento poderá demorar mais porque o modelo precisa processar todas as imagens, mesmo as editadas. |
test_seed | inteiro (matemática) | Especifique uma semente aleatória para geração e avaliação de dados de teste. A definição da semente garante que os mesmos dados de teste sejam gerados sempre que o script for executado. | Sementes diferentes podem levar a dados de teste e resultados de avaliação diferentes, dificultando a comparação do desempenho entre as execuções. |
peso_perda_anterior | ponto flutuante | Especifique o peso do termo de perda anterior no cálculo geral da perda. O termo de perda anterior é usado para incentivar o modelo a gerar saídas semelhantes à distribuição anterior dos dados de treinamento. | A definição de pesos muito altos pode resultar em um resultado muito semelhante ao anterior, reduzindo a criatividade do modelo. A definição de pesos muito baixos pode resultar em um resultado muito distante do anterior e não suficientemente coerente. |
gradiente_checkpointing | booleano | Especifica se devem ser usados pontos de verificação de gradiente para reduzir o uso de memória durante o treinamento. O checkpointing de gradiente envolve salvar e recarregar seletivamente as ativações durante a retropropagação, o que reduz o uso da memória ao custo do aumento do tempo de computação. | O uso de pontos de verificação de gradiente pode tornar o processo de treinamento mais lento e pode não ser necessário para modelos pequenos ou dispositivos com memória suficiente. |
gradiente_acc_passos | inteiro (matemática) | Especifica o número de etapas para acumulação de gradiente durante o treinamento. O aumento desse valor reduz o uso da memória e ajuda na estabilidade do treinamento. | Valores mais altos de gradient_acc_steps aumentam o número de operações e podem tornar o processo de treinamento mais lento. |
mixed_precision | booleano | Especifica se deve ser usado o treinamento de precisão mista, que usa tipos de dados de baixa precisão para acelerar o treinamento. | O treinamento com precisão mista pode resultar em redução da precisão e pode levar a um treinamento instável. |
save_precision | ponto flutuante | Especifica a precisão a ser usada ao salvar os pesos do modelo. Normalmente, é definido como 32 ou 16, dependendo da precisão usada durante o treinamento. | Valores mais baixos de precisão podem levar à perda de informações ao salvar os pesos do modelo, resultando em menor precisão. |
salvar_como | string (ciência da computação) | Especifica o formato de arquivo no qual será salvo o modelo de treinamento. Os formatos compatíveis são: ckpt, safetensors, pt, bin. | O formato do arquivo deve corresponder ao tipo de modelo artístico Stable Diffusion AI para o qual o modelo LoRA será usado. |
caption_extension | string (ciência da computação) | Especifica a extensão do arquivo de texto que contém os cabeçalhos dos dados de treinamento. | A extensão deve corresponder à extensão real do arquivo de título. |
max_clip_token_length | inteiro (matemática) | Especifique o número máximo de Token permitido em um único título. Os títulos que excederem esse tamanho serão ignorados durante o treinamento. | A definição de valores mais altos pode aumentar o uso da memória durante o treinamento. A definição de um valor mais baixo pode resultar na perda de informações importantes no cabeçalho. |
baldes | lista de números inteiros | Especifique o tamanho do algoritmo de compartimentos. Por exemplo, se buckets for definido como [5,10,15], os dados serão divididos em três buckets, os dados com o comprimento de 5 Token estarão em um bucket, os dados com o comprimento de 10 Token estarão em outro bucket e os dados com o comprimento de 15 Token estarão no terceiro bucket. | O número de compartimentos e o tamanho dos compartimentos devem ser escolhidos cuidadosamente para obter bons resultados. Se o número de compartimentos for muito pequeno, o modelo poderá não ter um bom desempenho, ao passo que, se o número de compartimentos for muito grande, o modelo poderá ser excessivamente ajustado. |
xformadores | lista de strings | Especifique o transformador a ser usado durante o treinamento. O transformador pode ser usado para aplicar técnicas de aprimoramento de dados, como corte aleatório, inversão, rotação etc. | A escolha do transformador pode afetar muito o desempenho do modelo, portanto, é importante selecionar o transformador mais adequado para a tarefa específica. |
use_8bit_adam | booleano | Especifica se deve ser usado o otimizador Adam de 8 bits. Essa opção pode ser usada para reduzir os requisitos de memória do processo de treinamento. | Se essa opção for definida como True (Verdadeiro), os requisitos de memória para o processo de treinamento serão reduzidos, mas o treinamento poderá ser mais lento e o modelo poderá ser menos preciso. |
cache_latents | booleano | Se definido como True, os valores potenciais dos dados de treinamento são armazenados em cache para acelerar o treinamento. Isso pode reduzir o tempo necessário para treinar o modelo, mas também pode usar mais memória e aumentar o tempo para iniciar o treinamento. | Aumento do uso da memória e tempos de inicialização mais lentos. |
cor_aug | booleano | Se definido como True, o aprimoramento de cores é realizado durante o treinamento. Isso pode aumentar a diversidade dos dados de treinamento, mas também pode tornar o treinamento mais lento. | O tempo de treinamento fica mais lento. |
flip_aug | booleano | Se definido como True, o aprimoramento do flip é realizado durante o treinamento. Isso pode aumentar a diversidade dos dados de treinamento, mas também pode tornar o treinamento mais lento. | O tempo de treinamento fica mais lento. |
colheita aleatória | Verdadeiro/Falso | Especifica se deve ser aplicado o corte aleatório à imagem de treinamento. Se for definido como True, a imagem de treinamento será cortada aleatoriamente no tamanho especificado antes de ser inserida no modelo. | O uso do corte aleatório aumenta a diversidade dos dados de treinamento, mas também aumenta o custo computacional do treinamento e pode tornar o processo de treinamento mais lento. |
vae | Verdadeiro/Falso | Especifica se deve ser usado um autocodificador variacional (VAE) como a espinha dorsal do modelo. Se for definido como True, o modelo será treinado como um VAE. | O uso do VAE pode proporcionar uma representação mais flexível dos dados, mas também pode dificultar o treinamento e exigir mais ajustes finos. |
no_meta | Verdadeiro/Falso | Especifica se os metadados devem ser excluídos (por exemplo, tags de categoria, atributos etc.) do processo de treinamento. Se definido como True, o modelo não terá acesso a nenhum metadado durante o treinamento. | A exclusão de metadados pode simplificar o processo de treinamento, mas pode levar a um modelo de qualidade inferior que não aproveita as informações adicionais fornecidas pelos metadados. |
diretório_de_log | string (ciência da computação) | O caminho para o diretório em que os arquivos de registro de treinamento estão armazenados. | Se o diretório já existir e não estiver vazio, o treinamento poderá sobrescrever os registros anteriores armazenados nesse diretório, resultando em perda de dados. |
bucket_reso_steps | inteiro (matemática) | Número de etapas para aumentar a resolução da imagem. A resolução da imagem começa em max_bucket_resolution e aumenta em um fator de 2 após cada etapa. | A definição desse valor como muito alto pode resultar em erros de memória e tempos de treinamento mais longos à medida que o tamanho da imagem aumenta em cada etapa. A definição desse valor como muito baixo pode resultar em uma qualidade de imagem inferior. |
bucket_no_upscale | booleano | Indica se deve limitar o aumento da resolução da imagem além do tamanho original. | Se definido como True, a resolução da imagem não aumentará além do tamanho original, o que pode resultar em uma qualidade de imagem inferior. |
v2 | verdadeiro ou falso | Essa configuração especifica se a versão 2 da arquitetura do modelo é usada. | O uso de diferentes versões da arquitetura do modelo pode alterar a qualidade e o desempenho da arte gerada, portanto, é importante fazer experimentos e comparar os resultados para determinar a melhor opção para uma determinada tarefa. |
v_parametrização | spectral_norm", "instance_norm" ou "batch_norm". | Essa configuração determina como os parâmetros do modelo são normalizados durante o treinamento. A normalização espectral, a normalização de instância e a normalização de lote são abordagens diferentes para evitar o ajuste excessivo, cada uma com suas próprias compensações em termos de custo computacional e desempenho. | A escolha do método de normalização errado pode ter um impacto negativo no desempenho do modelo, por isso é importante experimentar diferentes opções para determinar qual é a mais adequada para uma determinada tarefa. |
Permita que o ChatGPT interprete todos os parâmetros LoRA
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " Permita que o ChatGPT interprete todos os parâmetros LoRA
Recomendado
- A maioria dos especialistas da Anthropic discute a Prompt Engineering
- Dimensionamento da computação em tempo de teste: cadeia de raciocínio sobre modelos vetoriais
- 2024 Inventário RAG, estratégia de aplicativo RAG 100+
- Best-of-N Jailbreak: uma simples transformação aleatória de entradas e tentativas repetidas de fazer com que os principais sistemas de IA ultrapassem as restrições de segurança para produzir respostas prejudiciais
- Análise comparativa de 6 estruturas de rastreamento da Web com IA de código aberto em 2024: interpretação da funcionalidade, análise do cenário de aplicativos
- Enrolados! Modelos vetoriais de texto longo Estratégias de fragmentação Competição
- Como testar as pistas do LLM de forma eficaz - um guia completo da teoria à prática
- Faculdade de Engenharia da AI: 1. Engenharia de dicas