py-smi

py-smi py-smi

py-smilink image 6

Aviso: Este post foi traduzido para o português usando um modelo de tradução automática. Por favor, me avise se encontrar algum erro.

Queres poder usar nvidia-smi desde Python? Aqui tens uma biblioteca para fazê-lo.

Instalaçãolink image 7

Para poder instalá-la execute:

pip install python-smi
      

Usolink image 8

Importamos a biblioteca

	
from py_smi import NVML
Copy

Criamos um objeto de pynvml (a biblioteca por trás de nvidia-smi)

	
nv = NVML()
Copy

Obtemos a versão do driver e do CUDA

	
nv.driver_version, nv.cuda_version
Copy
	
('560.35.03', '12.6')

Como no meu caso tenho duas GPUs, crio uma variável com o número de GPUs

	
num_gpus = 2
Copy

Obtenho a memória de cada GPU

	
[nv.mem(i) for i in range(num_gpus)]
Copy
	
[_Memory(free=24136.6875, total=24576.0, used=439.3125),
_Memory(free=23509.0, total=24576.0, used=1067.0)]

A utilização

	
[nv.utilization() for i in range(num_gpus)]
Copy
	
[_Utilization(gpu=0, memory=0, enc=0, dec=0),
_Utilization(gpu=0, memory=0, enc=0, dec=0)]

A potência usada

Isso me dá muito jeito, porque quando eu treinava um modelo e tinha as duas GPUs cheias, às vezes o meu computador desligava, e vendo a potência, vejo que a segunda consome muito, por isso pode ser o que eu já suspeitava, que era por alimentação.

	
[nv.power(i) for i in range(num_gpus)]
Copy
	
[_Power(usage=15.382, limit=350.0), _Power(usage=40.573, limit=350.0)]

Os relógios de cada GPU

	
[nv.clocks(i) for i in range(num_gpus)]
Copy
	
[_Clocks(graphics=0, sm=0, mem=405), _Clocks(graphics=540, sm=540, mem=810)]

Dados do PCI

	
[nv.pcie_throughput(i) for i in range(num_gpus)]
Copy
	
[_PCIeThroughput(rx=0.0, tx=0.0),
_PCIeThroughput(rx=0.1630859375, tx=0.0234375)]

E os processos (agora não estou executando nada)

	
[nv.processes(i) for i in range(num_gpus)]
Copy
	
[[], []]

Continuar lendo

DoLa – Decoding by Contrasting Layers Improves Factuality in Large Language Models

DoLa – Decoding by Contrasting Layers Improves Factuality in Large Language Models

Você já conversou com um LLM e ele lhe respondeu algo que parece ter bebido café de máquina a noite toda? 😂 Isso é o que chamamos de alucinação no mundo dos LLMs! Mas não se preocupe, pois não é que seu modelo de linguagem esteja louco (embora às vezes possa parecer isso 🤪). A verdade é que os LLMs podem ser um pouco... criativos quando se trata de gerar texto. Mas graças ao DoLa, um método que usa camadas de contraste para melhorar a viabilidade dos LLMs, podemos evitar que nossos modelos de linguagem se transformem em escritores de ficção científica 😂. Nesta publicação, explicarei como o DoLa funciona e mostrarei um exemplo de código para que você possa entender melhor como tornar seus LLMs mais confiáveis e menos propensos a inventar histórias. Vamos salvar nossos LLMs da loucura e torná-los mais úteis! 🚀

Últimos posts -->

Você viu esses projetos?

Subtify

Subtify Subtify

Gerador de legendas para vídeos no idioma que você desejar. Além disso, coloca uma legenda de cor diferente para cada pessoa

Ver todos os projetos -->

Quer aplicar IA no seu projeto? Entre em contato!

Quer melhorar com essas dicas?

Últimos tips -->

Use isso localmente

Os espaços do Hugging Face nos permitem executar modelos com demos muito simples, mas e se a demo quebrar? Ou se o usuário a deletar? Por isso, criei contêineres docker com alguns espaços interessantes, para poder usá-los localmente, aconteça o que acontecer. Na verdade, se você clicar em qualquer botão de visualização de projeto, ele pode levá-lo a um espaço que não funciona.

Ver todos os contêineres -->

Quer aplicar IA no seu projeto? Entre em contato!

Você quer treinar seu modelo com esses datasets?

short-jokes-dataset

Dataset com piadas em inglês

opus100

Dataset com traduções de inglês para espanhol

netflix_titles

Dataset com filmes e séries da Netflix

Ver mais datasets -->