Todos os produtos
Search
Central de documentação

Platform For AI:Faça o deploy de um modelo LoRA SD com Kohya_ss no EAS

Última atualização: Sep 23, 2026

Treine modelos LoRA com Kohya_ss no EAS e aplique-os ao Stable Diffusion para geração de imagens.

Pré-requisitos

Configure o armazenamento do OSS

  1. Faça login no OSS console e acesse o caminho de um bucket na mesma região. Por exemplo, oss://kohya-demo/kohya/.

  2. Crie uma pasta de projeto (exemplo: KaraDetroit_loar) com três subpastas: Image, Log e Model. Opcionalmente, faça o upload de um arquivo de configuração json para essa pasta.

    • Image: arquivos de source para os materiais de treinamento.

    • Model: arquivos de modelo após a conclusão do treinamento.

    • Log: logs de treinamento.

    • SS_config.json: arquivo json para configuração de parâmetros em lote (opcional). Configure os caminhos das pastas, os nomes dos modelos de saída e outros parâmetros. GitHub. Exemplo: SS_config.json.

  3. Faça o upload das imagens preparadas para a pasta Image. Este exemplo usa um pacote de amostra: 100_pic.zip. Baixe, descompacte e faça o upload da pasta para o OSS.

    Importante
    • Os formatos de imagem suportados são .png, .jpg, .jpeg, .webp e .bmp.

    • Cada imagem deve ter um arquivo de descrição com o mesmo nome e a extensão de arquivo .txt. A descrição deve estar na primeira linha. Se uma imagem tiver várias descrições, separe-as por vírgulas.

    • Os nomes das pastas de imagens devem seguir o formato: número_nome (exemplo: 100_pic). O número define as repetições por imagem durante o treinamento (geralmente mais de 100). O total de iterações de treinamento deve ultrapassar 1.500.

      • Se a pasta contiver 10 imagens, cada uma será treinada 1500/10=150 vezes. Defina o número do nome da pasta como "150".

      • Se a pasta contiver 20 imagens, cada uma será treinada 1500/20=75 (<100) vezes. Defina o número do nome da pasta como "100".

Faça o deploy do Kohya_ss

  1. Faça login no PAI console. Selecione uma região na parte superior da página. Em seguida, selecione o workspace desejado e clique em Enter Elastic Algorithm Service (EAS).

  2. Clique em Deploy Service. Na seção Inference Service, clique em Custom Deployment na seção Custom Model Deployment.

  3. Na página Custom Deployment, configure os parâmetros usando o formulário ou especificando configurações json.

    Configuração por formulário

    Parâmetro

    Descrição

    Basic Information

    Service Name

    Nome personalizado. Exemplo: kohya_ss_demo.

    Environment Information

    Deployment Method

    Selecione Image-based Deployment e selecione Enable Web App.

    Image Configuration

    Na lista Alibaba Cloud Image, selecione kohya_ss > kohya_ss:2.2.

    Nota

    Selecione a versão mais recente durante o deploy.

    Storage Mount

    Selecione OSS como tipo de montagem e configure estes parâmetros:

    • Uri: caminho do OSS na mesma região. Exemplo: oss://kohya-demo/kohya/.

    • Mount Path: caminho personalizado. Exemplo: /workspace.

      Importante

      Desative a opção Read-Only. Caso contrário, os arquivos de modelo não poderão ser gravados no OSS.

    Command to Run

    Configurado automaticamente após a seleção da imagem. Exemplo: python -u kohya_gui.py --listen=0.0.0.0 --server_port=8000 --headless.

    • --listen: vincula ao endereço IP especificado para requisições externas.

    • --server_port: número da porta de escuta.

    Resource Information

    Resource Type

    Selecione Public Resources.

    Deployment

    Recomendado: ml.gu7i.c16m60.1-gu30 para melhor custo-benefício. Este exemplo usa ml.gu7i.c8m30.1-gu30.

    Configuração json

    Na seção Service Configurations, clique em Edit e edite a configuração no formato json.

    Exemplo de configuração json:

    Importante

    No exemplo a seguir, modifique as configurações na linha 4 ("name") e na linha 18 ("oss") de acordo com suas necessidades.

    {
        "metadata":
        {
            "name": "kohya_ss_demo",
            "instance": 1,
            "enable_webservice": true
        },
        "cloud":
        {
            "computing":
            {
                "instance_type": "ecs.gn6e-c12g1.12xlarge",
                "instances": null
            }
        },
        "storage": [
        {
            "oss":
            {
                "path": "oss://kohya-demo/kohya/",
                "readOnly": false
            },
            "properties":
            {
                "resource_type": "model"
            },
            "mount_path": "/workspace"
        }],
        "containers": [
        {
            "image": "eas-registry-vpc.cn-hangzhou.cr.aliyuncs.com/pai-eas/kohya_ss:1.2",
            "script": "python -u kohya_gui.py --listen=0.0.0.0 --server_port=8000 --headless",
            "port": 8000
        }]
    }
  4. Revise a configuração, salve e clique em Deploy. O deploy leva alguns minutos. O serviço estará pronto quando o Service Status mudar para Running.

Treine o modelo LoRA

  1. Na página Overview do serviço, clique em Web applications para abrir a página do serviço Kohya_ss.

  2. Selecione LoRA (LoRA).

  3. (Opcional) Defina o Configuration file. Pule esta etapa se não houver um arquivo SS_config.json disponível.

    Nota

    O caminho combina o Mount Path de Form configuration, o caminho da pasta no OSS e o nome do arquivo. Exemplo: /workspace/KaraDetroit_loar/SS_config.json.

  4. Defina o SourceModel. O formato safetensors é recomendado em vez de checkpoint para maior segurança.

    Na aba Source model, defina Model Quick Pick como runwayml/stable-diffusion-v1-5 e defina Save trained model as como safetensors.

  5. Defina Folders. Insira os caminhos de Image, Log e Model do OSS e especifique o nome do arquivo de saída.

    Parâmetro

    Descrição

    Image folder

    Pasta de imagens de treinamento. Combine o Mount Path de Form configuration com o caminho Image no OSS. Exemplo: /workspace/KaraDetroit_loar/Image.

    Logging folder

    Pasta de saída de logs. Combine o Mount Path de Form configuration com o caminho Log no OSS. Exemplo: /workspace/KaraDetroit_loar/Log.

    Output folder

    Pasta de saída do modelo. Combine o Mount Path de Form configuration com o caminho Model no OSS. Exemplo: /workspace/KaraDetroit_loar/Model.

    Model output name

    Nome de saída do modelo. Por exemplo, my_model.

  6. Defina Parameters. Para valores de exemplo, consulte o conteúdo do arquivo SS_config.json na etapa Prepare OSS storage structure.

    Parâmetro

    Descrição

    LoRA Type

    Tipo de LoRA. Opções:

    • LoCON: ajusta todas as camadas do SD, como Res, Block e Transformer.

    • LoHA: processa mais informações com o mesmo tamanho.

    LoRA network weights

    Pesos do LoRA. Para retomar o treinamento, selecione a saída anterior do LoRA (opcional).

    Train batch size

    Tamanho do lote de treinamento. Valores maiores exigem mais VRAM.

    Epoch

    Número de épocas (uma passagem completa por todos os dados de treinamento). Calcule manualmente:

    • Total training iterations in Kohya = Number of training images × Repetitions × Number of epochs / Training batch size.

    • Total training iterations in WebUI = Number of training images × Repetitions.

    Com imagens de classe, o total de iterações dobra tanto no Kohya quanto no WebUI, e os salvamentos de modelo no Kohya são reduzidos pela metade.

    Save every N epochs

    Salva o modelo a cada N épocas. Exemplo: defina como 2 para salvar a cada 2 épocas.

    Caption Extension

    Extensão de arquivo para arquivos de legenda, por exemplo, .txt (opcional).

    Mixed precision

    Precisão mista. Opções: no, fp16, bf16. Use bf16 para GPUs com mais de 30 GB de VRAM.

    Save precision

    Precisão de salvamento. Igual à opção acima.

    Number of CPU threads per core

    Threads de CPU por núcleo. Afeta o uso de VRAM. Ajuste com base nas especificações da sua instância.

    Learning rate

    Taxa de aprendizado. Padrão: 0,0001.

    LR Scheduler

    Agendador de taxa de aprendizado. Selecione uma função como cosine ou cosine with restart conforme necessário.

    LR Warmup (% of steps)

    Etapas de aquecimento. Padrão: 10. Defina como 0 para pular o aquecimento.

    Optimizer

    Otimizador. Padrão: AdamW8bit. DAdaptation ativa o ajuste automático.

    Max Resolution

    Resolução máxima. Defina com base nas propriedades da imagem.

    Network Rank (Dimension)

    Complexidade do modelo. Um valor de 128 é suficiente para a maioria dos cenários.

    Network Alpha

    Não deve exceder o Network Rank (Dimension). Configuração comum: Rank 128, Alpha 64.

    Convolution Rank (Dimension)

    & Convolution Alpha

    Grau de convolução. Controla o escopo do ajuste fino. Ajuste com base no tipo de LoRA.

    Recomendações oficiais do Kohya:

    • LoCon: dim <= 64, alpha = 1 (ou menor).

    • LoHA: dim <= 32, alpha = 1.

    clip skip

    Contagem de salto do CLIP. Intervalo: 1 a 12. Valores menores produzem imagens mais próximas do prompt de entrada.

    • Para modelos realistas, selecione 1.

    • Para modelos no estilo anime, selecione 2.

    Sample every n epoch

    Gera uma imagem de amostra a cada N épocas.

    Sample Prompts

    Prompts de amostra. Use um comando com parâmetros:

    • --n: prompt, prompt negativo.

    • --w: largura da imagem.

    • --h: altura da imagem.

    • --d: seed da imagem.

    • --l: relevância do prompt (cfg).

    • --s: etapas de iteração (steps).

  7. Na parte inferior da página, clique em Start training.

  8. Clique no nome do serviço na lista de serviços do EAS para abrir a página de detalhes e, em seguida, clique em Log e visualize o progresso do treinamento.

    A página de log exibe a saída da barra de progresso da tarefa de inferência do modelo, incluindo a porcentagem de conclusão, o número de itens processados do total e a velocidade de processamento.

    Quando model saved aparecer no log, o treinamento estará concluído.

    steps: 100%|██████████| 2998/3000 [11:39<00:00,  4.29it/s, loss=0.16]
    steps: 100%|██████████| 2998/3000 [11:39<00:00,  4.29it/s, loss=0.16]
    steps: 100%|██████████| 2999/3000 [11:39<00:00,  4.29it/s, loss=0.16]
    steps: 100%|██████████| 2999/3000 [11:39<00:00,  4.29it/s, loss=0.16]
    steps: 100%|██████████| 3000/3000 [11:39<00:00,  4.29it/s, loss=0.16]
    steps: 100%|██████████| 3000/3000 [11:39<00:00,  4.29it/s, loss=0.16]
    steps: 100%|██████████| 3000/3000 [11:39<00:00,  4.29it/s, loss=0.16]
    [2023-08-07 20:34:01] epoch 1/1
    [2023-08-07 20:34:01] saving checkpoint: /workspace/KaraDetroit_loar/Model/my_model.safetensors
    [2023-08-07 20:34:01] model saved.
  9. Recupere o modelo LoRA treinado da pasta Model. Exemplo: my_model.safetensors.

Gere imagens com o modelo LoRA treinado

Faça o upload do modelo LoRA treinado para o diretório LoRA do SD WebUI para geração de imagens. Deploy a Stable Diffusion service with EAS in 5 minutes to enable text-to-image generation.

Faça o upload do arquivo de modelo LoRA para o diretório LoRA do SD WebUI usando um dos métodos a seguir.

Stable Diffusion WebUI Cluster Edition

  1. Selecione uma imagem de tempo de execução de cluster (exemplo: stable-diffusion-webui:4.2-cluster-webui). Após o serviço iniciar, o sistema cria automaticamente o caminho /data-{current_user_ID}/models/Lora no caminho montado do OSS.

  2. Na seção Command to Run, adicione os seguintes parâmetros:

    • --lora-dir: parâmetro opcional.

      • Se o parâmetro --lora-dir não for especificado, os arquivos de modelo para todos os usuários serão isolados. Apenas os arquivos de modelo em {OSS_path}/data-{current_user_ID}/models/Lora serão carregados.

      • Se o parâmetro --lora-dir for especificado, todos os usuários carregarão arquivos de modelo do diretório especificado e de {OSS_path}/data-{current_user_ID}/models/Lora. Por exemplo, --lora-dir /code/stable-diffusion-webui/data-oss/models/Lora.

    • --data-dir {OSS_mount_path}, por exemplo, --data-dir /code/stable-diffusion-webui/data-oss.

  3. Faça o upload do arquivo de modelo LoRA para {OSS_path}/data-{current_user_ID}/models/Lora. Por exemplo, oss://bucket-test/data-oss/data-1596******100/models/Lora.

    Nota

    O caminho /data-{current_user_ID}/models/Lora é criado automaticamente após o início do serviço. Faça o upload do arquivo de modelo LoRA depois disso.

    Para encontrar o {current_user_ID}, clique em sua foto de perfil no canto superior direito.

Stable Diffusion WebUI Basic Edition

  1. Selecione uma imagem de tempo de execução sem -cluster (exemplo: stable-diffusion-webui:4.2-standard). Após o serviço iniciar, o sistema cria automaticamente o caminho /models/Lora no caminho montado do OSS.

  2. Na seção Command to Run, adicione o parâmetro --data-dir {OSS_mount_path}. Por exemplo, --data-dir /code/stable-diffusion-webui/data-oss.

  3. Faça o upload do arquivo de modelo LoRA para {OSS_path}/models/Lora. Por exemplo, oss://bucket-test/data-oss/models/Lora.

    Nota

    O caminho /models/Lora é criado automaticamente após o início do serviço. Faça o upload do arquivo de modelo LoRA depois disso.