Este é o ano de lançamento da IA Generativa
Bem; para dizer o mínimo, este ano não tive muitas opções de como executar um modelo LLM localmente.
Vamos começar:
1) Transformadores HuggingFace:
Todas as imagens criadas pelo Bing Image Creator
Para executar o Hugging Face Transformers offline sem acesso à Internet, siga estas etapas: Instale os Transformers com as dependências necessárias, garantindo não depender de atualizações automáticas durante a instalação. Você pode instalar via pip ou conda conforme descrito na documentação do Hugging Face
pip install transformers==4.xy
Carregue modelos pré-treinados de sua máquina local depois de baixá-los do Hugging Face Hub com acesso à Internet. Salve o modelo usando save_pretrained() e carregue-o posteriormente no modo offline.
from transformers import AutoModelForSequenceClassification, BertTokenizerFast
Primeira vez, baixe e salve o modelo
model = AutoModelForSequenceClassification.from_pretrained("bert-base-uncased") model.save_pretrained("/my/local/directory/bert-base-uncased")
Mais tarde, carregue o modelo salvo offline
model = AutoModelForSequenceClassification.from_pretrained("/my/local/directory/bert-base-uncased") tokenizer = BertTokenizerFast.from_pretrained("/my/local/directory/bert-base-uncased")
Configure as variáveis de ambiente TRANSFORMERS_OFFLINE e HF_DATASETS_OFFLINE para ativar o uso offline.
export TRANSFORMERS_OFFLINE=1 export HF_DATASETS_OFFLINE=1
Clone o repositório do modelo diretamente se preferir não fazer download de arquivos individuais.
git clone https://huggingface.co/<username>/<repository> /my/local/directory
Certifique-se de que todos os arquivos necessários estejam presentes no diretório onde você planeja executar seus scripts. Lembre-se de que definir TRANSFORMERS_OFFLINE apenas como 1 não funcionará se o modelo ainda não estiver disponível localmente. Você deve baixar o modelo com acesso à Internet e salvá-lo localmente ou clonar o repositório do modelo.
2) gpt4all
gpt4all é um projeto de código aberto que permite a qualquer pessoa acessar e usar modelos de IA poderosos como o GPT-3. Aqui estão instruções passo a passo para instalar e usar o gpt4all:
- Instalação:
- gpt4all requer Python 3.7 ou superior e algumas dependências de pacote Python. A maneira mais fácil de instalar o gpt4all é via pip:
pip install gpt4all
- Obtenha uma chave de API:
- Você precisa de uma chave API para acessar os modelos por meio do gpt4all. Você pode obter uma chave de API gratuita inscrevendo-se em https://platform.openai.com .
- Configurar autenticação:
- Depois de ter sua chave de API, defina uma variável de ambiente chamada
OPENAI_API_KEY
com sua chave de API como valor.
export OPENAI_API_KEY="YOUR_API_KEY_HERE"
- Use gpt4all:
- Agora você está pronto para usar o gpt4all em Python para acessar o GPT-3 e outros modelos. Aqui está um exemplo que leva Davinci (uma versão do GPT-3) a resumir uma passagem de texto:
from gpt4all import completions summary = completions.generate(engine="text-davinci-003", prompt="Summarize this text: [insert long text here]", max_tokens=50) print(summary.text)
- Consulte a documentação do gpt4all para mais exemplos de como usar diferentes modelos
3) ollamma
Ollamma é uma biblioteca de código aberto que fornece acesso fácil a grandes modelos de linguagem como GPT-3. Aqui estão os detalhes sobre os requisitos do sistema, instalação e uso:
Requisitos de sistema:
- Python 3.7 ou superior
- Biblioteca de solicitações
- Chave de API OpenAI válida
Instalação:
pip install ollamma
Uso:
- Definir chave de API
import os os.environ["OPENAI_API_KEY"] = "<YOUR_API_KEY>"
- Importe e crie o cliente
from ollamma import Client client = Client()
- Gerar texto
response = client.generate( engine="text-davinci-003", prompt="Hello world", max_tokens=100 ) print(response.generations[0].text)
O método generate permite que você especifique o mecanismo, o prompt e parâmetros como o máximo de tokens para configurar sua solicitação.
Você também pode ajustar mecanismos, moderar conteúdo e muito mais. Consulte a documentação do Ollamma para obter detalhes adicionais sobre todos os métodos disponíveis.
Resumindo: Ollamma torna muito fácil aproveitar o GPT-3 e outros modelos em apenas algumas linhas de código Python, uma vez instalado e configurado!
4) Estúdio LM
LM Studio é uma ferramenta de código aberto que agiliza o processo de treinamento, avaliação e uso local de modelos de linguagem de última geração. Aqui estão as etapas para executar o LM Studio localmente:
- Instalação:
LM Studio requer Docker e Docker Compose. Para instalar:
a. Instale Docker Engine e Docker Compose em sua máquina
b. Clone o repositório GitHub do LM Studio:
git clone https://github.com/lm-studio/lm-studio.git
- Configuração:
O LM Studio depende de arquivos de configuração na pastaconfig/
. Arquivos comuns incluem:
a. model.yaml
: especifica arquiteturas de modelo
b. training.yaml
: definir parâmetros de treinamento
c. evaluation.yaml
: ajusta as configurações de avaliação
- Executando o LM Studio:
A interface principal é via Docker Compose. Alguns comandos comuns:
a. Construir imagens: docker-compose build
b. Inicie todos os serviços: docker-compose up -d
c. Ver registros: docker-compose logs -f
d. Parar serviços: docker-compose down
Os serviços expõem várias portas que você pode usar para interagir com a UI, APIs, notebooks e muito mais.
Resumindo, o LM Studio agiliza a experimentação de modelos de linguagem local. Os usuários só precisam clonar o repositório, definir arquivos de configurações e usar comandos simples do Docker para começar a treinar, avaliar e usar modelos.
5) local
Acho que esta é a maneira mais conveniente e simples de todas. A explicação completa está no link abaixo:
Resumido:
localllm
combinado com Cloud Workstations revoluciona o desenvolvimento de aplicativos orientado por IA, permitindo que você use LLMs localmente na CPU e na memória no ambiente do Google Cloud. Ao eliminar a necessidade de GPUs, você pode superar os desafios impostos pela escassez de GPUs e desbloquear todo o potencial dos LLMs. Com produtividade aprimorada, eficiência de custos e segurança de dados aprimorada, o localllm permite criar aplicativos inovadores com facilidade
6) chama.cpp
Para instalar e usar o Llama.cpp para treinamento e inferência local, siga estas etapas:
Instale dependências:
Python 3 CMake Optional (for GPU acceleration) NVIDIA drivers, CUDA, and cuDNN For Windows, use Visual Studio Community with Desktop C++ Environment and Python 3 Clone the repository:
git clone --recursive https://github.com/abetlen/llama-cpp-python.git Se você quiser usar aceleração de GPU, defina a variável de ambiente conforme descrito no repositório (por exemplo, no Linux):
export CMAKE_ARGS="-DLLAMA_CUBLAS=ON" Install Llamma.cpp:
Para compilação local e compilação do sistema:
cd llama-cpp-python pip install -e . For Windows, or if you want prebuilt binaries, consider the following: No GPU support: pip install llama-cpp-python[server]
Opcionalmente, para usar uma interface de alto nível, usando o comando:
python -m llama_cpp.server --model models/7B/llama-model.gguf With GPU support: set FORCE_CMAKE=1 set CMAKE_ARGS=-DLLAMA_CUBLAS=ON pip install --upgrade --force-reinstall llama-cpp-python --no-cache-dir
Opcional, para Windows, para usar uma interface de alto nível:
python -m llama_cpp.server --model "path/to/your/model" Download and place Llama models in the models/ subdirectory within the Llama.cpp repository if they are not included (models like llama-model.gguf or ggml-* files are available on Hugging Face or GGML).
Teste a instalação:
The llama_cpp/llama_cpp.py script provides a simple high-level interface in Python. Replace llama-model.gguf with your downloaded Llama model to test inference. If you want to train your own Llama model, you'll need to train it according to the official documentation and manually convert the GGML files into GGUF files (for GPU deployment).
7) Oobagooba
Esta é uma implementação gradio de código aberto de um webui para gerar texto usando langchain.
Alguns trechos do arquivo README.md:
extensões de geração de texto-webui
Este é um diretório de extensões para
Se você criar sua própria extensão, poderá enviá-la para esta lista em um PR.
memória de longo prazo
Uma extensão sofisticada que cria uma memória de longo prazo para bots no modo chat.
AllTalk TTS
AllTalk é baseado no mecanismo Coqui TTS, semelhante à extensão Coqui_tts para webUI de geração de texto, porém suporta uma variedade de recursos avançados.
- Configurações de inicialização personalizadas: ajuste suas configurações de inicialização padrão.
Captura de tela - Narrador: Use vozes diferentes para o personagem principal e a narração.
Narração de exemplo - Modo VRAM baixo: Ótimo para pessoas com pouca memória GPU ou se sua VRAM for preenchida por seu LLM.
Captura de tela - DeepSpeed: Um aumento de desempenho de 3-4x gerando TTS.
Instruções DeepSpeed Windows/Linux Captura de tela - Modelos locais/personalizados: use qualquer um dos modelos XTTSv2 (API Local e XTTSv2 Local).
- Manutenção opcional de arquivos wav: exclusão configurável de arquivos wav de saída antigos.
Captura de tela - Ajuste fino Treine o modelo especificamente na voz de sua escolha para obter melhor reprodução.
- Documentação: Totalmente documentada com uma página da web integrada.
Captura de tela - Saída do console Limpe a saída da linha de comando para quaisquer avisos ou problemas.
- API Suite e suporte de terceiros por meio de chamadas JSON Pode ser usado com aplicativos de terceiros por meio de chamadas JSON.
- Pode ser executado como um aplicativo independente. Não apenas dentro do webui de geração de texto.
EdgeGPT
Extensão para Webui de geração de texto baseada em EdgeGPT da acheong08, para acesso rápido à Internet para seu bot.
XTTSv2
Uma variante da extensão coqui_tts no repositório principal. Ambos usam o modelo XTTSv2, mas este possui um recurso de "narrador" para texto escrito *entre asteriscos*.
Playground para escritores
Esta extensão fornece um notebook avançado independente que estará sempre presente na guia superior. Possui muitos recursos não encontrados no notebook:
- Dois Notebooks A e B independentes que estão sempre presentes, independente do modo
- Instruir inline (capacidade de fazer perguntas ou dar tarefas dentro do próprio texto)
- Selecionar e inserir - gera texto no meio do seu texto
- Memória Perma, Resumo, Paráfrase
- LoRA-Rama - mostra os pontos de verificação LoRA e a capacidade de alternar entre eles
- Escala LoRA (experimental) - ajuste o impacto LoRA usando um sclider
E há muito mais para explorar: Confira:
https://github.com/oobabooga/text-generação-webui-extensions
Conclusão?
E tem mais! Muito mais! LangChain, llm, ollamma, a lista fica cada vez maior!
Este é um ano glorioso de bela criatividade. Saúde!