Aprendizagem pessoal com IA
e orientação prática

[RPM] Executando o modelo grande Deepseek R1 671b localmente em um servidor EPYC de US$ 2.000

[RPM] Executando modelos grandes do Deepseek R1 671b localmente em um EPYC Server-1 de US$ 2.000

 

Criação de um servidor local de inferência de IA do Deepseek

Primeiro, as boas notícias: a Digital Spaceport obteve um ótimo desempenho da plataforma AMD EPYC Rome que eles usaram na análise anterior :😁: Essa configuração é um clássico! Aqueles que usam essa configuração têm boas notícias hoje, pois estão executando de 4,25 a 3,5 pcs/s com o modelo Q4 671b completo! Token (TPS). Isso é importante porque esses modelos "leves" não estão na mesma categoria. Eles não têm um desempenho tão bom, e outros modelos os superam facilmente. Para obter uma experiência de modelo realmente grande, use um modelo completo, de preferência com uma janela de contexto grande (16K+). O modelo completo não apresenta problemas mesmo se for executado somente na CPU, portanto, você pode deixá-lo em execução enquanto executa alguns modelos menores, como modelos de reconhecimento de imagem, na GPU. Novamente, não é possível executar a versão completa somente na memória da GPU, a menos que você tenha um equipamento muito sofisticado! Deepseek O Digital Spaceport lhe ensinará todos os tipos de truques para colocá-lo em funcionamento. Não é exatamente "fácil", mas é divertido se você gosta de mexer com tecnologia.


Retificação (2024/02/01)

  • Consumo de energia em modo inativo: 60W (menor do que o esperado pela Digital Spaceport, e isso sem a GPU conectada)
  • Consumo de energia com carga total: 260W
  • Frequência atual da memória do Digital Spaceport: 2400MHz (3200MHz pode ser melhor)

 

Hardware da CPU do servidor de IA local

Se você já viu o guia de configuração do servidor gráfico quad 3090 da Digital Spaceport, você está com sorte. A Digital Spaceport recomenda uma CPU melhor, já que o preço agora é praticamente o mesmo e o aumento de desempenho é significativo. No entanto, os resultados deste artigo foram executados com a CPU 7702 da própria Digital Spaceport, e a placa-mãe MZ32-AR0 foi uma boa recomendação na época, pois tem 16 slots de memória que funcionam com a frequência total de 3200 MHz, o que o ajudará a reduzir o custo de obter entre 512 GB e 1 TB de memória. O Digital Spaceport está usando pentes de memória DDR4 de 2400 MHz, mas se você usar pentes de memória DDR4 ECC de 3200 MHz, poderá aumentar o desempenho. 16 pentes de 32 GB fornecerão 512 GB de memória e 16 pentes de 64 GB fornecerão 1 TB.Observação: Os cartões de memória LRDIMM e RDIMM não podem ser misturados! (LRDIMM e RDIMM são dois tipos diferentes de cartões de memória de servidor e não devem ser misturados, caso contrário, o computador poderá não inicializar)

Lista de componentes da plataforma do servidor local de IA

  • Racks $55
  • Placa principal do MZ32-AR0 $500
  • CPU com resfriamento a água de 420 mm Corsair h170i elite capellix xt $170
  • Suporte do cabeçote do resfriador de água da CPU EPYC
  • AMD EPYC 7702 de 64 núcleos $650 ou AMD EPYC 7V13 de 64 núcleos $599 ou AMD EPYC 7C13 de 64 núcleos $735
  • 512 GB de memória ECC 2400 $400
  • SSD NVMe de 1 TB - Samsung 980 Pro $75
  • Fonte de alimentação de 850 W $80 (se você estiver usando apenas o raciocínio da CPU, 850 W é suficiente. Para uso de GPU, é recomendável obter uma fonte de alimentação de 1500W ou 1600W para começar)

(Os preços são os vigentes em 29 de janeiro de 2025)
Custo total: aproximadamente US$ 2.000* Se estiver usando 512 GB de RAM de 2400 e uma CPU EPYC 7702, a Digital Spaceport recomenda adquirir uma CPU 7C13 ou 7V13 em vez de atualizar a frequência da memória. O upgrade para 768 GB de RAM é a segunda opção, sendo a RAM de 3200 MHz a última a ser considerada. Com a CPU topo de linha (7C13 ou 7V13) e 1 TB de RAM de 2400 MHz, o preço total seria de aproximadamente US$ 2.500. **.

Montagem do rack da plataforma

O processo de montagem é o mesmo do vídeo anterior, ainda sem a GPU e a placa de extensão. Se você quiser adicionar uma GPU mais tarde, a Digital Spaceport recomenda obter uma fonte de alimentação de 1500 W ou 1600 W desde o início. Depois de adicionar a GPU e a placa de extensão, o restante da unidade permanece o mesmo. Você pode assistir a este vídeo para saber como montá-la. (Isso se refere ao vídeo de configuração do servidor gráfico quad 3090 mencionado acima.) Ignore a parte sobre a GPU no vídeo, todas as outras etapas são as mesmas.

 

Além disso, é uma boa ideia ter uma parede de ventiladores pequenos, amarrados com zíperes, soprando ar nos cartões de memória para ajudar a dissipar o calor. Os cartões de memória não se fundem termicamente, mas o aquecimento excessivo acionará a proteção contra superaquecimento, reduzindo o desempenho e afetando as velocidades de processamento de dados. (Parede de ventiladores significa que vários ventiladores são montados lado a lado para formar uma parede de ar, proporcionando maior capacidade de resfriamento)

[RPM] Executando modelos grandes do Deepseek R1 671b localmente em um EPYC Server-2 de US$ 2.000

Dicas de atualização da placa-mãe

Se você quiser usar a CPU AMD EPYC 7V13, é melhor comprar a versão V3 da placa-mãe MZ32-AR0 diretamente em vez de comprar a V1 e depois atualizá-la. A versão V1 pode não ser compatível com as CPUs da arquitetura Milan de fábrica, e você precisa usar a versão V3, portanto, talvez seja necessário atualizar o BIOS da placa-mãe com a versão V2 da CPU primeiro.O BIOS é equivalente à "alma" da placa-mãe do computador, controlando a inicialização e a operação do hardware, e a atualização do BIOS permite que a placa-mãe ofereça suporte a hardware mais recente) A Digital Spaceport não pode afirmar com certeza se a versão V1 não é compatível com as CPUs Milan, mas acha que é muito provável. De acordo com a experiência da Digital Spaceport, é possível atualizar a placa-mãe V1 para a versão mais recente da V3 fazendo o flash da atualização do BIOS. Primeiro, você precisa fazer o flash de uma versão anterior do BIOS V3 e, em seguida, fazer o flash da versão V3 mais recente do BIOS. A versão mais recente do BIOS é a M23_R40 (Dados no momento da redação).

 

Configuração local do software auto-hospedado de IA

A parte de configuração do software é um pouco mais complicada do que os tutoriais anteriores da Digital Spaceport. Sim, você pode instalar o Ollama diretamente em um sistema Proxmox básico.O Proxmox é um software de gerenciamento de virtualização de servidores que permite executar várias máquinas virtuais em um único servidor físico) No entanto, o Digital Spaceport sugere que é melhor não fazer isso. Agora você tem duas opções, e a Digital Spaceport falará sobre uma delas primeiro. A Digital Spaceport precisa testar o impacto no desempenho antes de decidir se recomenda a outra opção. A outra opção é executar o Ollama em um contêiner LXC autônomo ou em uma máquina virtual (VM).Os contêineres LXC e as VMs são tecnologias de virtualização que isolam o ambiente no qual o software é executadoSe você já viu os tutoriais sobre LXC e Docker da Digital Spaceport, pode continuar a usar o LXC, mas a Digital Spaceport sugere que é melhor instalá-lo em uma máquina virtual (VM) por enquanto. A Digital Spaceport tentará encontrar uma solução mais unificada para tornar tudo felizmente autossuficiente em nosso pequeno servidor de IA, mas isso levará tempo.

Ubuntu 24.04 bare metal ou VM Proxmox?

Se quiser minimizar o incômodo desnecessário de uma nova instalação do zero, basta instalá-lo em um servidor Ubuntu 24.04 bare-metal. Como alternativa, você pode consultar o tutorial anterior do Proxmox. (Refere-se ao tutorial de instalação do Proxmox publicado anteriormente pela Digital Spaceport.) Cabe a você decidir o que deseja fazer, por sua própria conta e risco. Você também pode instalar um ambiente de área de trabalho, se quiser, mas isso não é necessário e o Digital Spaceport não o demonstra. Estamos executando um serviço em um servidor, portanto, não tenha medo da interface de linha de comando (CLI).

Configuração do BMC da placa-mãe MZ32-AR0

Conecte as portas Ethernet e BMC da placa-mãe MZ32-AR0 ao cabo de rede. (BMC (Baseboard Management Controller) Controlador de gerenciamento de placa de base que pode gerenciar remotamente o hardware do servidor) Se estiver usando um roteador com firewall, como o opnsense ou o pfsense, você poderá verificar a lista ARP do roteador para ver se a porta do BMC é exibida. Localize o endereço IP do BMC. No Digital Spaceport, o endereço do BMC é https://192.168.1.XX. Abra esse endereço no navegador e uma caixa de login com nome de usuário e senha será exibida. O nome de usuário padrão é admin e a senha está no adesivo da placa-mãe, sob o logotipo do MZ32-AR0. O adesivo da placa-mãe do Digital Spaceport é mostrado na figura. É o adesivo com o código de barras. A senha é provavelmente a senha inicial, removendo os primeiros 3 caracteres de "3/C/" e, em seguida, os próximos 6 ou 11 caracteres. Depois de fazer login com sucesso na interface de gerenciamento do BMC, vá para

Página inicial > Configurações > Rede > Configurações de IP da rede

Defina o endereço IP estático da placa-mãe. Se estiver usando servidores DNS e NTP locais, configure-os também. (Servidores DNS para resolução de nomes de domínio e servidores NTP para sincronização de horárioA interface de gerenciamento do BMC será muito usada no futuro, portanto, é uma boa ideia colocá-la nos favoritos.

[RPM] Executando modelos grandes do Deepseek R1 671b localmente em um EPYC Server-3 de US$ 2.000

Em seguida, clique em "remote control" (controle remoto) na barra lateral. A página exibirá a opção "HTML5 viewer" (visualizador HTML5). A página exibirá a opção "HTML5 viewer". A Digital Spaceport recomenda o uso de uma conexão com fio, pois você fará o upload de uma imagem ISO de 2,5 GB do sistema Ubuntu 24.04 pela rede para instalar o sistema posteriormente. (O arquivo de imagem ISO é um backup completo do disco ou da unidade de disco rígido) Acesse o site do Ubuntu para fazer o download Imagem ISO para a versão de servidor do Ubuntu 24.04O Ela tem cerca de 2,5 GB de tamanho. No visualizador HTML5 da interface de administração do BMC, clique no canto superior direito e carregue essa imagem ISO.

[RPM] Executando modelos grandes do Deepseek R1 671b localmente em um EPYC Server-4 de US$ 2.000

Quando o carregamento estiver concluído, toque em "Start (iniciar)". Se você ainda não tiver ligado o servidor, faça isso agora. Uma vez ligado, a interface do visualizador HTML5 começará a exibir o progresso do carregamento, e os números aumentarão lentamente. Clique com o mouse na janela "tela" e aguarde até que o лого de inicialização da Gigabyte apareça. Quando vir o лого, pressione DEL no teclado para entrar na configuração do BIOS. No BIOS, carregue os padrões, salve e reinicie. Depois que o computador for reinicializado, entre no BIOS novamente e, dessa vez, altere algumas configurações. Em primeiro lugar, defina o disco de inicialização. O modo de inicialização pode ser UEFI ou Legacy, que provavelmente é menos problemático e tem menos probabilidade de causar problemas. (UEFI e Legacy são dois modos diferentes de inicialização do BIOS, sendo o UEFI o mais moderno e avançado.)

Abaixo estão os itens de configuração do BIOS que precisam ser encontrados e modificados:

  • O NPS é definido como 1 (NPS (Nodes Per Socket) Número de nós por soquete, afeta o modo de acesso à memória da CPU)
  • CCD definido como Auto (CCD (Core Complex Die) CPU Core Complex, o design modular das CPUs AMD)
  • SMT Off (O SMT (Simultaneous Multithreading), a versão da AMD do Hyper-Threading, está desativado para proporcionar um desempenho de núcleo único mais estável.)
  • SVM desativado (pode ser ativado se estiver usando o Proxmox VM, o desempenho será ligeiramente degradado) (SVM (Secure Virtual Machine) Modo de máquina virtual segura, aceleração de hardware da tecnologia de virtualização)
  • IOMMU desativado (pode ser ativado se estiver usando a VM do Proxmox, o desempenho será ligeiramente prejudicado) (IOMMU (Input-Output Memory Management Unit) Unidade de gerenciamento de memória de entrada e saída, hardware acelerado pela tecnologia de virtualização)
  • cTDP ajustado para 200W (para CPU EPYC 7702) (cTDP (Configurable TDP) TDP configurável para ajustar a potência e o desempenho da CPU)
  • Defina o controle determinístico como manual e puxe o controle deslizante para desempenho.
  • política de energia rápida definida para desempenho
  • O BoostFMax está definido como manual (Configuração do limite de frequência de aceleração da CPU BoostFMax)
  • boostFmax é definido como 3400 (para CPU EPYC 7702) (Defina o limite superior da frequência de aceleração da CPU como 3,4 GHz)

Após modificar as configurações do BIOS acima, salve e reinicie novamente. Nessa reinicialização, pressione F12/11/10 (a Digital Spaceport não se lembra qual é a tecla, mas ela é mostrada na parte inferior da página de inicialização) para entrar no menu de inicialização. Selecione a opção "AMI Virtual CD" para inicializar a partir da unidade de CD-ROM virtual. Se tiver uma conexão com a Internet com fio, você poderá acessar a tela de instalação do Ubuntu rapidamente. A próxima etapa é a instalação do Ubuntu. Defina um nome de usuário e uma senha, certifique-se de que você se lembra deles. Marque a opção "setup ssh server" para facilitar o login remoto após a conclusão da instalação. (SSH (Secure Shell) Protocolo Secure Shell para login remoto e gerenciamento de servidores) Aguarde a conclusão da instalação do sistema. O sistema será reinicializado após a conclusão da instalação e, eventualmente, solicitará que você pressione Enter para continuar. Depois de pressionar Enter, o sistema será reinicializado novamente e, em seguida, entrará no terminal da linha de comando e será solicitado a fornecer um nome de usuário. Digite o nome de usuário e a senha que você definiu para fazer login. Depois de fazer o login com sucesso, digite o comando

ip a

Lembre-se do endereço IP exibido. Agora você pode voltar ao seu computador Windows/macOS/Linux e fechar a janela do visualizador HTML5 na interface de administração do BMC. No software Terminal do seu computador, digite (put) nome de usuário Substitua-o pelo seu nome de usuário, o endereço IP Substitua-o pelo endereço IP que você acabou de lembrar).

ssh nome de usuário@endereço IP

Instalação de software comumente usado

Aqui está uma grande lista de comandos, basta copiá-los e colá-los no terminal e executá-los. As etapas relacionadas à GPU são omitidas aqui. Se você tiver uma placa de vídeo NVIDIA, poderá instalar os drivers depois de concluir as etapas a seguir.

sudo apt update && sudo apt upgrade -y && sudo apt install -y htop git glances nano lsof unzip
  • sudo apt updateAtualize a lista de fontes de software para garantir que os pacotes mais recentes possam ser baixados.
  • sudo apt upgrade -yAtualização de todos os pacotes instalados para a versão mais recente.-y indica que todas as operações são confirmadas automaticamente.
  • sudo apt install -y htop git glances nano lsof unzipInstalação de alguns softwares comuns do Linux: Instale alguns softwares comuns do Linux.
    • htopGerenciador de processos: um gerenciador de processos mais fácil de usar que permite visualizar o uso de recursos do sistema em tempo real.
    • gitFerramenta de controle de versão de código para download e gerenciamento de código.
    • olharesUma ferramenta de monitoramento de sistema mais avançada do que a htop Funcionalidade mais rica.
    • nanoEditor de texto fácil de usar para editar arquivos de configuração.
    • lsofFerramenta para visualização de arquivos abertos que pode ser usada para solucionar problemas como ocupação de portas.
    • descompactarFerramenta para descompactar arquivos ZIP: Uma ferramenta para descompactar arquivos ZIP.

Configuração de um endereço IP estático

Digite no terminal da linha de comando:

sudo netplan generate

Esse comando gera um arquivo de configuração de rede padrão. Em seguida, use o comando nano O editor abre o arquivo de configuração:

sudo nano /etc/netplan/50-cloud-init.yaml

O conteúdo do arquivo de configuração padrão é mais ou menos assim. Precisamos modificar o arquivo eno1 configuração da placa de rede.eno1 Corresponde à porta de rede física na placa-mãe. Ignorar enp65s0np0Essa é uma placa de rede externa.

[RPM] Executando modelos grandes do Deepseek R1 671b localmente em um EPYC Server-5 de US$ 2.000

Use as teclas de seta do teclado para mover o cursor e alterar o arquivo de configuração para algo parecido com o seguinte. use seu endereço IP atual para o endereço IP, para facilitar a operação e evitar complicações. digital spaceport set the static IP here to 192.168.1.200O gateway do roteador é 192.168.1.1Essa é uma configuração de rede doméstica muito comum.

[RPM] Executando modelos grandes do Deepseek R1 671b localmente em um EPYC Server-6 de US$ 2.000

Quando a modificação estiver concluída, pressione Ctrl+X abortar nano editor, quando solicitado a salvar, pressione Y para confirmar.

Quando retornar ao terminal, digite o comando para aplicar a nova configuração de rede:

sudo netplan apply

Agora seu servidor está configurado com um endereço IP estático. Você pode reinicializar o servidor e fazer login remotamente usando SSH para garantir que as configurações de IP estático estejam em vigor.

Instalar Ollama

próxima instalação Ollama Estrutura de execução de modelos grandes.

curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz
sudo tar -C /usr -xzf ollama-linux-amd64.tgz
sudo useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama
sudo usermod -a -G ollama $(whoami)
  • curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgzFaça o download do pacote de instalação do Ollama.enrolar é uma ferramenta de download de linha de comando.-L indica um link de follow redirect.-o especifica o nome do arquivo a ser salvo.
  • sudo tar -C /usr -xzf ollama-linux-amd64.tgzExtraia o pacote de instalação do Ollama para /usr Catálogo.alcatrão é uma ferramenta popular de compactação/descompactação para sistemas Linux.-C /usr Especifique o diretório de descompressão como /usr(matemática) gênero-xzf significa descompactar o arquivo tar compactado com gzip.
  • sudo useradd -r -s /bin/false -U -m -d /usr/share/ollama ollamaCriar um arquivo chamado ollama usuário do sistema para executar o serviço Ollama.
    • sudo useraddComando para criar um usuário.
    • -rPara criar um usuário do sistema, o UID e o GID são atribuídos automaticamente.
    • -s /bin/falseProibir que os usuários façam login no sistema.
    • -UCrie um grupo de usuários com o mesmo nome.
    • -mCria automaticamente o diretório inicial do usuário.
    • -d /usr/share/ollamaEspecifique o diretório inicial do usuário como /usr/share/ollama.
    • ollama: Nome de usuário.
  • sudo usermod -a -G ollama $(whoami)Adicionar o usuário atual à lista de usuários ollama Grupos de usuários.
    • sudo usermodComando para modificar as informações do usuário.
    • -aAdicionar ao grupo de usuários em vez de substituir.
    • -G ollama: Adicionar a ollama Grupos de usuários.
    • $ (whoami)Nome de usuário: Obtenha o nome de usuário atual.

Esse comando também cria um arquivo chamado ollama e instale o Ollama no diretório /usr/share/ollama diretório. Por padrão, os arquivos de modelo são colocados no diretório /usr/share/ollama/.ollama/models/ Catálogo.

Configuração de variáveis de ambiente e serviços

Agora é necessário definir algumas variáveis de ambiente que serão usadas quando o Ollama for iniciado. Isso é fundamental para resolver problemas de processamento paralelo.

sudo nano /etc/systemd/system/ollama.service

despesa ou gasto nano O editor abre o arquivo de configuração do serviço systemd do Ollama. Precisamos adicionar variáveis de ambiente ao arquivo de configuração. Abaixo está uma lista de todas as variáveis de ambiente que podem ser configuradas; não precisamos usar todas elas, elas estão listadas apenas para referência.

Variáveis de ambiente:

  • -OLLAMA_DEBUGExibição de mais informações de depuração (por exemplo OLLAMA_DEBUG=1)
  • -OLLAMA_HOSTEndereço IP no qual o servidor Ollama escuta (padrão) 127.0.0.1:11434)
  • -OLLAMA_KEEP_ALIVE: por quanto tempo o modelo permanece carregado na memória (padrão) "5m"(5 minutos)
  • -OLLAMA_MAX_LOADED_MODELSNúmero máximo de modelos que podem ser carregados por GPU
  • -OLLAMA_MAX_QUEUEComprimento máximo da fila de solicitações
  • -OLLAMA_MODELSDiretório onde os arquivos de modelo estão armazenados
  • -OLLAMA_NUM_PARALLELNúmero máximo de solicitações paralelas
  • -OLLAMA_NOPRUNELimpeza do cache do modelo na inicialização: não há limpeza do cache do modelo na inicialização
  • -OLLAMA_ORIGINS: uma lista separada por vírgulas de fontes que permitem solicitações entre domínios
  • -OLLAMA_SCHED_SPREADSe o modelo deve ser distribuído uniformemente em todas as GPUs
  • -OLLAMA_FLASH_ATTENTIONSe deve ativar a aceleração de atenção do Flash (O Flash Attention é uma otimização Transformador Técnicas para modelar a eficiência computacional)
  • -OLLAMA_KV_CACHE_TYPETipo de quantificação do cache K/V (padrão) f16) (O cache K/V é um componente essencial do modelo Transformer usado para acelerar a inferência, e a quantificação reduz o espaço ocupado pela memória, mas pode perder a precisão)
  • -OLLAMA_LLM_LIBRARYEspecifique as bibliotecas LLM para ignorar a detecção automática (As bibliotecas LLM são as bibliotecas computacionais subjacentes usadas para executar modelos grandes, como llama.cppexllama et al. (e outros autores))
  • -OLLAMA_GPU_OVERHEADEspaço de memória reservado por GPU (bytes)
  • -OLLAMA_LOAD_TIMEOUTTempo limite de carregamento do modelo (padrão) "5m"(5 minutos)

O conteúdo do arquivo de configuração do Digital Spaceport é o seguinte. Observação: a menos que tenha uma placa de GPU, você não precisa (e não deve) preencher as variáveis de ambiente relacionadas à GPU.

[RPM] Executando modelos grandes do Deepseek R1 671b localmente em um EPYC Server-7 de US$ 2.000

manter a mão sobre Ctrl+Xe, em seguida, pressione Y Salve o arquivo de configuração. Em seguida, execute o seguinte comando:

sudo systemctl daemon-reload
sudo systemctl start ollama
nproc
  • sudo systemctl daemon-reloadRecarregue o arquivo de configuração do serviço systemd para que as alterações tenham efeito.
  • sudo systemctl start ollama: Startup ollama.service serviço, a estrutura do Ollama Big Model.
  • nprocNúmero de núcleos da CPU: Visualize o número de núcleos da CPU.

Agora as variáveis de ambiente estão configuradas. nproc O comando deve exibir o número 64o que significa 64 núcleos de CPU. Se a saída 128Isso significa que o hyperthreading SMT não está desativado, portanto, você precisa desativá-lo no BIOS. Se a saída 32 talvez 96Se as saídas não estiverem no mesmo estado que as saídas, verifique as configurações de NPS e CCD no BIOS. Se a saída 64Se a contagem de núcleos da CPU estiver correta, você poderá prosseguir para a próxima etapa (LFG = Let's Fucking Go).

Download do modelo Deepseek 671b

Agora, faça o download do modelo grande do Deepseek 671b. Esse modelo ocupa cerca de 400 GB de espaço em disco, portanto, esperamos que seu SSD NVMe seja grande o suficiente.

ollama pull deepseek-r1:671b
  • ollama pull deepseek-r1:671bDownload usando o cliente Ollama deepseek-r1:671b Modelos.puxar para fazer o download do modelo.deepseek-r1:671b é o nome e a versão do modelo.

O processo de download será lento, portanto, seja paciente. A propósito, lamento os custos surpreendentes do tráfego de dados... (O download de modelos grandes consome muito tráfego de rede, especialmente de servidores estrangeiros, e pode gerar altos custos de tráfego)

Instalação do OpenWEBUI

Precisamos usar o Docker ou o Python para executar o OpenWEBUI. Aqui, o Digital Spaceport usa o Docker para fazer a implantação. Certifique-se de não ter nenhum outro software relacionado ao Docker instalado em seu sistema para evitar conflitos.

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
  • for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; doneDesinstalação de pacotes relacionados ao Docker que possam estar instalados para evitar conflitos.
    • for pkg in ... ; do ... ; doneDeclaração de loop for: Uma declaração de loop for que itera pela lista de pacotes.
    • docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runcDocker: Uma lista de pacotes relacionados ao Docker que podem ser instalados.
    • sudo apt-get remove $pkgDesinstale o pacote.apt-get remove é o comando para desinstalar pacotes em sistemas Debian/Ubuntu.$pkg é uma variável de loop que representa o nome do pacote que está sendo percorrido no momento.

Instale os códigos-fonte oficiais do Docker:

# Adicione a chave GPG oficial do Docker.
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Adicione o repositório às fontes do Apt.
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" \ \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
  • Esse comando é usado para adicionar os repositórios oficiais do Docker para facilitar a instalação da versão mais recente do Docker.
    • A primeira parte adiciona a chave GPG oficial do Docker, que é usada para verificar a integridade e a origem do pacote.
    • A segunda parte adiciona fontes do Docker à lista de fontes do APT (Advanced Package Tool).
    • máximo sudo apt-get update Atualize a lista de fontes de software para ativar as fontes do Docker recém-adicionadas.

Instale o mecanismo do Docker:

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
  • sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -yInstalação do Docker Engine e dos componentes relacionados.
    • docker-ceDocker Community Edition Engine.
    • docker-ce-cliCliente de linha de comando do Docker.
    • containerd.ioDependências subjacentes do Docker no tempo de execução do contêiner.
    • docker-buildx-pluginDocker Buildx: plug-in do Docker Buildx para criar imagens do Docker com várias arquiteturas.
    • docker-compose-pluginDocker Compose: plug-in do Docker Compose para gerenciar aplicativos Docker com vários contêineres.
    • -yConfirma todas as operações automaticamente.

Instale o gerenciador de contêineres Dockge Docker.

O diretório de dados do Dockge está, por padrão, no diretório /opt/dockge e os dados relacionados ao Docker também estão no diretório /opt O catálogo é fácil de gerenciar.

sudo mkdir -p /opt/stacks /opt/dockge
cd /opt/dockge
sudo curl https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml -output compose.yaml
docker compose up -d
  • sudo mkdir -p /opt/stacks /opt/dockgeCriar um catálogo /opt/stacks responder cantando /opt/dockgeÉ usado para armazenar arquivos relacionados ao Dockge.-p significa que, se o diretório pai não existir, ele também será criado.
  • cd /opt/dockgeMudar o diretório de trabalho atual para /opt/dockge.
  • sudo curl https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml -output compose.yamlDownload do Dockge's compose.yaml Documentação.compose.yaml é um arquivo de configuração para o Docker Compose que define a configuração do contêiner do Docker.
  • docker compose up -dInicie o contêiner do Dockge usando o Docker Compose.para cima para iniciar o contêiner.-d indica operação em segundo plano.

Agora você pode acessar a interface de administração do Dockge por meio de um navegador para concluir as etapas restantes do gerenciamento de contêineres do Docker. Se você não souber o endereço IP do servidor, poderá verificar as configurações de rede do servidor. O endereço de acesso do navegador é http://服务器IP:5001Por exemplo, o IP do servidor da Digital Spaceport é o mesmo que o do servidor da Digital Spaceport. Por exemplo, o IP do servidor do Digital Spaceport é 192.168.1.200Então, o endereço de acesso é http://192.168.1.200:5001. Na primeira vez que visitar o site, será necessário definir um nome de usuário e uma senha, portanto, não se esqueça deles. A próxima etapa é criar o OpenwebUI do contêiner do Docker agora.

Cole o seguinte no editor Compose do Dockge como a configuração do Compose para o OpenwebUI:

versão: "3.3"
serviços.
open-webui.
serviços: open-webui.
- 7000:8080
volumes: open-webui:/app/backend/data
- open-webui:/app/backend/data
nome_do_contêiner: open-webui
restart: sempre
imagem: ghcr.io/open-webui/open-webui:latest
volumes: open-webui: {}
open-webui: {}
redes: dockge_default: {}
dockge_default: external: true
external: true
  • Essa configuração do Compose define um arquivo chamado open-webui Contêiner do Docker para executar o OpenWEBUI.
    • versão: "3.3"Versão do arquivo do Docker Compose.
    • serviçosDefinir a lista de serviços.
      • open-webuiNome do serviço.
        • portosMapeamento de portas: mapeia a porta 8080 do contêiner para a porta 7000 do host.
        • volumesVolume de dados: o volume de dados monta o arquivo open-webui O volume é montado no contêiner /app/backend/data para armazenamento persistente de dados do OpenWEBUI.
        • nome_do_contêiner: nome do contêiner, definido como open-webui.
        • reiniciar: sempreO contêiner é sempre reiniciado automaticamente.
        • imagem: ghcr.io/open-webui/open-webui:latestImagem do Docker usada: A imagem do Docker usada.ghcr.io/open-webui/open-webui:latest é a imagem mais recente do Docker para o OpenWEBUI.
    • volumesDefinir o volume de dados.
      • open-webui: {}Criar um arquivo chamado open-webui do volume de dados.
    • redes: Definição de redes.
      • dockge_defaultNome da rede.
        • externo: verdadeiroUso de redes externas dockge_defaultPor padrão, o Dockge cria um arquivo chamado dockge_default da rede.

Clique em "save" (salvar) e "run" (executar). A primeira execução será lenta porque você precisa fazer o download da imagem do Docker. Para atualizar a imagem do OpenWEBUI posteriormente, basta clicar no botão "update" na interface do Dockge. Quando o contêiner for iniciado, visite a página http://服务器IP:7000 Você poderá abrir a interface OpenWEBUI. Por exemplo, o IP do servidor do Digital Spaceport é 192.168.1.200Então, o endereço de acesso é http://192.168.1.200:7000. Na primeira vez que visitar o site, você precisará definir um nome de usuário e uma senha, que é importante lembrar. Vamos lá agora mesmo Está quase pronto! Ufa!Ufa!)

Conectando o OpenWEBUI ao Ollama

Na página "/admin/settings" -> "connections" da interface de administração do OpenWEBUI, clique no sinal "+" para adicionar uma nova conexão de servidor. Preencha o endereço do servidor IP do servidor:11434. Por exemplo.192.168.1.200:11434(Observe a substituição do endereço IP de seu próprio servidor). (Tenha o cuidado de substituí-lo pelo endereço IP de seu próprio servidor). Se a conexão for bem-sucedida, a interface OpenWEBUI exibirá uma mensagem verde "connection success" (sucesso da conexão).

[RPM] Executando modelos grandes do Deepseek R1 671b localmente em um EPYC Server-8 de US$ 2.000

Depois de conectado, clique no ícone do Connection Manager para ver os servidores Ollama conectados. Se o modelo do Deepseek já tiver sido baixado, você o verá no menu suspenso "Delete model" (Excluir modelo). deepseek-r1:671b Modelos.

[RPM] Executando modelos grandes do Deepseek R1 671b localmente em um EPYC Server-9 de US$ 2.000

Parabéns, está quase pronto! Mas Não saia da página de configurações com pressa!

Configuração de parâmetros avançados

Clique no ícone Editar (Caneta).

[RPM] Executando modelos grandes do Deepseek R1 671b localmente em um EPYC Server-10 de US$ 2.000

Os parâmetros avançados agora podem ser editados. Não se esqueça de clicar em "SAVE!" quando terminar.
[RPM] Executando modelos grandes do Deepseek R1 671b localmente em um EPYC Server-11 de US$ 2.000

  • Número de GPUs (GPUs)Se você não tiver uma placa de GPU, altere isso para 0.
  • Esforço de raciocínio: Opcional baixo (baixo) médio (M) ou alta (alto), o padrão é médio (centro).
  • Comprimento do contexto: Definido como 16364O comprimento do contexto de 16K não é um problema. Comprimentos de contexto maiores exigem mais memória ou RAM da GPU.
  • Número de threads (num_thread): Definido como 62Além disso, o sistema tem 2 núcleos de CPU reservados para o sistema.
  • Ativar o bloqueio de memória (use_mlock)Pode ser ativado para evitar que os dados da memória sejam trocados para o disco e afetem o desempenho. (O bloqueio de memória (mlock) impede que as páginas de memória sejam trocadas para o disco pelo sistema operacional, o que melhora a eficiência do aplicativo, mas aumenta o espaço ocupado pela memória.)

Outros parâmetros podem ser ajustados de acordo com as instruções no cartão do modelo. Observação: Não tente usar o comprimento total do contexto de 160K, a menos que você tenha 2 TB de RAM! Mesmo que funcione, a velocidade será muito Lento.

IMPORTANTE: Não se esqueça de tocar em "SAVE!" (Salvar).

Definição das configurações do usuário

Clique em "User Settings" (Configurações do usuário) para alterar as preferências do usuário. Recomenda-se que você defina a configuração "keep alive" (manter vivo) para um período de tempo mais longo, por exemplo, 3 horas. Clique em "save" (salvar) após alterar as configurações.

[RPM] Executando modelos grandes do Deepseek R1 671b localmente em um EPYC Server-1 de US$ 2.000

As configurações de usuário são um pouco confusas com as configurações de administrador anteriores, portanto, tenha cuidado para diferenciá-las.

Executar um teste.

Meu Deus, não acredito que você chegou até aqui! Isso é fantástico, o Digital Spaceport admira você! Clique em "new chat" (novo bate-papo) no canto superior esquerdo da interface OpenWEBUI. A lista de modelos já deve ter deepseek-r1:671b Já sei. Tente enviar um "olá" aleatório. Funcionou!

 

Teste de desempenho do Deepseek R1 671b

Parabéns por ter instalado e executado com sucesso o serviço Ollama + OpenWEBUI local big model! A Digital Spaceport acredita que há muitas outras soluções excelentes de execução de big models locais, como llama.cppexo responder cantando vLLMOs tutoriais serão publicados depois que a Digital Spaceport tiver se aprofundado. Os tutoriais serão publicados quando a Digital Spaceport tiver se aprofundado. llama.cpp Pode ser o próximo, a Digital Spaceport recentemente compilou, testou e executou o llama.cppO resultado é muito bom! Apenas muitos parâmetros para resolver. vLLM É um pouco complicado.exo É bastante simples, mas continua travando após o lançamento e ainda não tive tempo de depurá-lo. De qualquer forma, como dizem... Fique ligado! (EM BREVE!)

CDN
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " [RPM] Executando o modelo grande Deepseek R1 671b localmente em um servidor EPYC de US$ 2.000

Chefe do Círculo de Compartilhamento de IA

O Chief AI Sharing Circle se concentra no aprendizado de IA, fornecendo conteúdo abrangente de aprendizado de IA, ferramentas de IA e orientação prática. Nosso objetivo é ajudar os usuários a dominar a tecnologia de IA e explorar juntos o potencial ilimitado da IA por meio de conteúdo de alta qualidade e compartilhamento de experiências práticas. Seja você um iniciante em IA ou um especialista sênior, este é o lugar ideal para adquirir conhecimento, aprimorar suas habilidades e realizar inovações.

Entre em contato conosco
pt_BRPortuguês do Brasil