Chatgpt Clones, Computer Automation With Ai
This article introduces the RWKV language models available on Hugging Face and discusses various NLP models such as Baize, Dolly, LLaMA, and Alpaca. It provides download links, installation instructions for these models, and information about fine-tuned models like Alpaca based on LLaMA.
simply because the original note on chatgpt is too long, we start a new one, with more topics and more resources.
visit poe.com for a bunch of free chatbots, including GPT-4
chathub is a browser plugin which you can use ChatGPT, Bing and Bard
ts_server supports a bunch of models like GPT-J, GPT-NeoX, GPT-Neo, OPT, Fairseq GPT, M2M100, CodeGen, GPT2, T5, RWKV, LLAMA and Stable Diffusion, used by textsynth.com
to manage python versions and environments, pyenv and venv is lightweight and miniconda or mamba is more sophisticated.
javascript code for extracting model list from huggingface personal homepage:
1 | var arr = []; |
convert arxiv paper (pdf) into html: arxiv vanity (you will have a better view than before, though will not always work) code on github
aminer is similar to paperswithcode, in which you may find interesting papers.
someone prefers bert4keras since it implements multiple LLM into Keras, also easy for GPT-2 LoRA training (by adding a single layer)
people love to post uncensorable links and torrents to internet archive and the-eye, just like the gpt-4chan
to create a simple API (compatible with OpenAI APIs) for LLMs, use SimpleAI
fine-tuning and tricks
PEFT (Parameter Efficient Fine Tuning) supports LoRA, Prefix Tuning, P-Tuning and Prompt Tuning.
computer automation with ai
virtual machines and environments
it is not feasible to install ubuntu arm on macos m1 with virtualbox. use utm.app instead. instructions on installing ubuntu with utm includes guides on sharing clipboard and directory.
papers
playing atari using q-learning (viewing deepmind paper with arxiv vanity)
models
video pretraining can perform minecraft diamond mining tasks with keyboard and mouse movements
mm-cot (multimodal chain-of-thought) by amazon, with model weights
data collectors and controllers
mss for screenshot, remember to save raw pixels to SSD, then compress into mp4 with ffmpeg for further training (mind the timestamp!)
go-vncdriver by openai, to compile you need to clone the repo and modify code to find headers for libjpeg-turbo and python.
asyncvnc (supports apple vnc), side project: asyncssh
python-vnc-client with keydown/keyup event support
pynput as input event listener and actor, listener may have some strange keycodes when pressing modifier keys on windows.
note that special care needed for aligning mouse location with screenshot size
ViT-pytorch can be used in many ViT-based models, listed and implemented in the repo.
spaces
openai universe (blog post here) and starter agents, remotes are using vnc protocol and a reward protocol using websocket sending json (can send actions). they prefer TigerVNC, maybe that will send the existing monitor instead of invisible ones.
gym is classic and modular. atari-py enables old games
retro deprecates universe, but might help with general computer controlling AI systems since they are compatible. human don’t play games all day and night. beware of this and don’t turn the model into a heavy gamer.
there is no meaning of recording terminal input/output when using tools like vim
. get screenshots, keystrokes and mouse clicks instead (using ttyd
, gremlins.js
or monkey.js
). tkterminal
won’t do. it is just a thin wrapper around subprocess.run
talking of browser, you can spin up novnc server and let the gremlins.js
do its job.
accelerators
cformers
cpu only
able to install from pip
ggml
cpu only
cpp, only compile from source
flexgen
gpu is mandatory, better than deepspeed and Hugging Face Accelerate
open source model and weights
awesome decentralized llm listed up-to-date related chatgpt-like repositories, datasets, model weights and resources.
model weights of open source chatgpt alternatives:
weight path | model size | model name | author |
---|---|---|---|
openchatgpt-neox-125m | 125m | gpt-neox | mrsteyk |
openchatgpt-neo-125m | 125m | gpt-neo | mrsteyk |
LLaMA
it’s public.
weight path | model name | author |
---|---|---|
llama-13b-hf-int4 | 13b | decapoda-research |
llama-65b-hf-int4 | 65b | decapoda-research |
llama-30b-hf-int4 | 30b | decapoda-research |
llama-7b-hf-int4 | 7b | decapoda-research |
llama-30b-hf | 30b | decapoda-research |
llama-65b-hf | 65b | decapoda-research |
llama-13b-hf | 13b | decapoda-research |
llama-7b-hf | 7b | decapoda-research |
llama-smallint-pt | unknown | decapoda-research |
llama-7b-hf-int8 | 7b | decapoda-research |
ChatYuan
v2 is censored.
model weights:
weight path | model size | model name | author |
---|---|---|---|
ChatYuan-large-v1 | unknown | unknown | ClueAI |
ChatYuan-large-v2-paddle | unknown | unknown | ClueAI |
ChatYuan-large-v2 | unknown | unknown | ClueAI |
ChatYuan-large-v1-paddle | unknown | unknown | ClueAI |
Deepshard
LLaMA trained on custom instruction dataset.
model weights:
weight path | weight size | model name | author |
---|---|---|---|
deepshard-13B-ft | 13b | deepshard | swype |
deepshard-13B-raw | 13b | deepshard | swype |
ChatGLM
Currently only open-sourced 6B version.
You can train ChatGLM using GXT3090: simple_thu_chatglm6b
Using 7GB VRAM, train ChatGLM with P-tuning
chatglm_finetuning supports loading from int4 weights
model weights:
weight path | weight size | model name | author |
---|---|---|---|
chatglm-6b-int4-slim | 6b | chatglm | silver |
chatglm-6b-slim | 6b | chatglm | silver |
chatglm-6b-int4-qe-slim | 6b | chatglm | silver |
chatglm-6b-int4 | 6b | chatglm | THUDM |
chatglm-6b-int4-qe | 6b | chatglm | THUDM |
chatglm-6b | 6b | chatglm | THUDM |
ChatDoctor
LLaMA-65B trained on medical dataset InstructorDoctor-200k
BELLE
开源中文对话大模型
model weights:
weight path | weight size | model name | author |
---|---|---|---|
BELLE-LLAMA-7B-0.6M | 7B | LLaMA | BelleGroup |
BELLE-LLAMA-7B-2M | 7B | LLaBLOOMZMA | BelleGroup |
BELLE-LLAMA-7B-2M-gptq | 7B | LLaMA | BelleGroup |
BELLE-LLAMA-13B-2M | 13B | LLaMA | BelleGroup |
BELLE-7B-gptq | 7B | BLOOMZ | BelleGroup |
BELLE-7B-2M | 7B | BLOOMZ | BelleGroup |
BELLE-7B-0.6M | 7B | BLOOMZ | BelleGroup |
BELLE-7B-0.2M | 7B | BLOOMZ | BelleGroup |
BELLE-7B-1M | 7B | BLOOMZ | BelleGroup |
baize
trained on ChatGPT self-chatting data
model weights:
weight path | weight size | model name | author |
---|---|---|---|
baize-lora-30B | 30b | baize | project-baize |
baize-lora-13B | 13b | baize | project-baize |
baize-healthcare-lora-7b | 7B | baize | project-baize |
baize-lora-7B | 7B | baize | project-baize |
dolly
model arch is gpt-j, trained on alpaca dataset
model weights:
weight path | weight size | model name | author |
---|---|---|---|
dolly-v1-6b | 6b | dolly | databricks |
dolly-lora | unknown | dolly | samwit |
FastChat (Vicuna)
model weights:
| weight path | weight size | model name | author |
| – | – | – |
| vicuna | unknown | Vicuna | chavinlo |
| vicuna2 | unknown | Vicuna | chavinlo |
| vicuna-13b-delta-v0 | 13b | Vicuna | lmsys |
| vicuna-13b-GPTQ-4bit-128g | 13b | vicuna | anon8231489123 |
| ggml-vicuna-13b-4bit | 13b | vicuna | eachadea |
| vicuna-13b | 13b | vicuna | eachadea |
| vicuna4all | 13b | vicuna | vicuna4all |
download official delta weights via [magnet](magnet:?xt=urn:btih:a7fac57094561a63d53eed943f904abf24c6969d&dn=Vicuna-13B-HF-fp16-delta-merged_2023-04-03&tr=udp%3a%2f%2ftracker.opentrackr.org%3a1337%2fannounce&tr=udp%3a%2f%2ftracker-udp.gbitt.info%3a80%2fannounce&tr=udp%3a%2f%2ftracker1.bt.moack.co.kr%3a80%2fannounce&tr=udp%3a%2f%2ftracker.tiny-vps.com%3a6969%2fannounce&tr=udp%3a%2f%2ftracker2.dler.org%3a80%2fannounce&tr=udp%3a%2f%2fopentracker.i2p.rocks%3a6969%2fannounce&tr=udp%3a%2f%2ftracker.altrosky.nl%3a6969%2fannounce&tr=udp%3a%2f%2ftracker.theoks.net%3a6969%2fannounce&tr=udp%3a%2f%2ftracker.dler.org%3a6969%2fannounce&tr=udp%3a%2f%2ftracker.torrent.eu.org%3a451%2fannounce&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a6969%2fannounce&tr=https%3a%2f%2fopentracker.i2p.rocks%3a443%2fannounce&tr=http%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.moeking.me%3a6969%2fannounce&tr=udp%3a%2f%2ftracker.monitorit4.me%3a6969%2fannounce&tr=udp%3a%2f%2f9.rarbg.com%3a2810%2fannounce
based)
Bloom-z
there is bloomz.cpp, converted model weights on huggingface
Alpaca
alpaca is LLaMA tuned on ChatGPT self-instruct dataset. officially there is just code and dataset, model weights are community provided.
ggml version: alpaca.cpp
example on how to load PEFT patched alpaca model: alpaca-lora/generate.py
it’s better to check for python bindings and webui like Alpaca-Turbo and Dalai for further development and interactions.
fine-tuning:
simple-llama-finetuner using LoRA, 16GB VRAM minimum
alpaca-lora: the OG LoRA alpaca
community model weights:
weight path | weight size | model name | author |
---|---|---|---|
alpaca-lora-7b | 7b | Alpaca | tloen |
Alpaca Native | 7B | Alpaca | chavinlo |
Alpaca-65B | 65B | Alpaca | chavinlo |
Alpaca 13B | 13B | Alpaca | chavinlo |
GPT4-X-Alpaca | 13B | Alpaca | chavinlo |
Toolpaca | 13B | Alpaca | chavinlo |
instruct-gpt-j-fp16 | 6B | GPT-J | nlpcloud |
alpaca-30b | 30b | Alpaca | baseten |
alpaca-lora-65b | 65b | alpaca | chansung |
alpaca-lora-30b | 30b | alpaca | chansung |
koalpaca-lora-13b | 13b | koalpaca | chansung |
alpaca-lora-13b | 13b | alpaca | chansung |
alpaca13B-lora | 13b | alpaca | samwit |
alpaca7B-lora | 7b | alpaca | samwit |
bloompaca-7b1-lora | 7b | bloom | samwit |
gpt4-x-alpaca-native-13B-ggml | 13b | alpaca | Pi3141 |
alpaca-native-7B-ggml | 7b | alpaca | Pi3141 |
alpaca-native-13B-ggml | 13b | alpaca | Pi3141 |
alpaca-lora-30B-ggml | 30b | alpaca | Pi3141 |
alpaca-lora-7B-ggml | 7b | alpaca | Pi3141 |
alpaca-lora-13B-ggml | 13b | alpaca | Pi3141 |
alpaca-7b-native-enhanced | 7b | alpaca | Pi3141 |
gpt4-x-alpaca-13b-native-4bit-128g | 13b | alpaca | anon8231489123 |
ggml-gpt4-x-alpaca-13b-native-4bit | 13b | alpaca | eachadea |
alpaca-13b-hf-fp16 | 13b | alpaca | teknium |
codealpaca only provides dataset for training a code generation model, there are multiple models trained on this dataset, including bloom-7b1-lora-codealpaca20k
togethercomputer
released openchatkit with retrieval ability and its huggingface space
model weights:
weight path | weight size | model name | author |
---|---|---|---|
GPT-NeoXT-Chat-Base-20B | 20B | GPT-NeoXT | togethercomputer |
Pythia-Chat-Base-7B | 7B | Pythia | togethercomputer |
moderation model weights:
weight path | weight size | model name | author |
---|---|---|---|
GPT-JT-Moderation-6B | 6B | GPT-JT | togethercomputer |
SpikeGPT
inspired by RWKV
model weights:
weight path | weight size | model name | author |
---|---|---|---|
SpikeGPT-BookCorpus | unknown | SpikeGPT | ridger |
RWKV
RWKV combines attention with RNN so the token window can be much larger.
Longformer is similar to this. Model weights in github repo or huggingface.
now we have rwkv.cpp (4bit quantization), build upon ggml and sure it works on cpu.
rwkvstic (with 8bit & offload for low VRAM GPUs)
RWKV-LoRA supports RWKV-v4-NeoX
model weights:
weight path | weight size | model name | author |
---|---|---|---|
RWKV-7B-alpaca-finetuned | 7b | RWKV | BlueSunflower |
rwkv-4-14B-alpaca-finetune-lora-weights | 14b | RWKV | BlueSunflower |
rwkv-fastquant | unknown | rwkv | Hazzzardous |
rwkv-onnx | unknown | rwkv | Hazzzardous |
RWKV-8Bit | unknown | rwkv | Hazzzardous |
rwkv-4-raven | unknown | rwkv | BlinkDL |
rwkv-4-pile-7b | 7b | rwkv | BlinkDL |
rwkv-4-pile-14b | 14b | rwkv | BlinkDL |
rwkv-4-pile-430m | 430m | rwkv | BlinkDL |
rwkv-4-pile-3b | 3b | rwkv | BlinkDL |
rwkv-4-pile-1b5 | 1.5b | rwkv | BlinkDL |
rwkv-4-pile-169m | 169m | unknown | BlinkDL |
rwkv-3-pile-1b5 | 1.5b | rwkv | BlinkDL |
rwkv-3-pile-430m | 430m | rwkv | BlinkDL |
rwkv-2-pile-430m | 430m | rwkv | BlinkDL |
rwkv-3-pile-169m | 169m | rwkv | BlinkDL |
RWKV-LM-safetensors | unknown | RWKV | mrsteyk |
openchatrwkv-430m-r2.0.1 | 430m | RWKV | mrsteyk |
openchatrwkw-430m-r2 | 430m | RWKV | mrsteyk |
openchatrwkv-430m | 430m | RWKV | mrsteyk |
encrypted alpaca model weights released by point-network: point-alpaca
gpt4all by nomic
LLaMA trained on massive collection of clean assistant dialog data, with model weights
you need to install nomic to run the model:
1 | pip3 install nomic |
to run it on gpu, you need to install this
openassistant
researchers of open-assistant like andreaskoepf has releasesed oasst-sft-3-pythia-12b-epoch-3.5 and still updating
model weights:
weight path | weight size | model name | author |
---|---|---|---|
oasst-llama-13b-2-epochs | 13b | llama | dvruette |
oasst-llama-13b-1000-steps | 13b | llama | dvruette |
oasst-gpt-neox-20b-1000-steps | 20b | gpt-neox | dvruette |
oasst-gpt-neox-20b-3000-steps | 20b | gpt-neox | dvruette |
oasst-pythia-12b-6000-steps | 12b | pythia | dvruette |
oasst-pythia-12b-3000-steps | 12b | pythia | dvruette |
oasst-pythia-12b-flash-attn-5000-steps | 12b | pythia | dvruette |
oasst-pythia-6.9b-4000-steps | 12b | pythia | dvruette |
oasst-sft-1-pythia-12b | 12b | pythia | OpenAssistant |
galactica-6.7b-finetuned | 6.7b | galatica | OpenAssistant |
oasst-sft-4-pythia-12b-epoch-3.5 | 12b | pythia | andreaskoepf |
pythia-12b-pre-2000 | 12b | pythia | andreaskoepf |
pythia-12b-pre-3500 | 12b | pythia | andreaskoepf |
oasst-sft-3-pythia-12b-epoch-3.5 | 12b | pythia | andreaskoepf |
oasst-sft-3-pythia-12b-epoch-2.35 | 12b | pythia | andreaskoepf |
oasst-sft-2-candidiate-0 | unknown | unknown | andreaskoepf |
oasst-sft-2-pythia-12b-4000 | 12b | pythia | andreaskoepf |
oasst-sft-1-gpt-neox-2000 | unknown | gpt-neox | andreaskoepf |
oasst-1_12b_4500 | 12b | unknown | andreaskoepf |
oasst-1_12b_1500 | 12b | unknown | andreaskoepf |
oasst-1_12b_3000 | 12b | unknown | andreaskoepf |
reward model weights:
weight path | weight size | model name | author |
---|---|---|---|
reward-model-deberta-v3-large | unknown | deberta-v3 | OpenAssistant |
reward-model-deberta-v3-large-v2 | unknown | deberta-v3 | OpenAssistant |
reward-model-electra-large-discriminator | unknown | electra-large | OpenAssistant |
reward-model-deberta-v3-base | unknown | deberta-v3 | OpenAssistant |
oasst-rm-1-pythia-1b | 1b | pythia | andreaskoepf |
openflamingo
using CLIP ViT-L and LLaMA-7B, model weights on huggingface
cerebras gpt
open sourced model weights and training code
model weights:
weight path | weight size | model name | author |
---|---|---|---|
cerebras-gpt-6.7b-lora | 6.7b | cerebras-gpt | samwit |
Cerebras-GPT-2.7B-Alpaca-SP | 2.7b | cerebras-gpt | lxe |
Cerebras-GPT-2.7B-Alpaca-SP-ggml | 2.7b | cerebras-gpt | lxe |
lora-cerebras-gpt2.7b-alpaca-shortprompt | 2.7b | cerebras-gpt | lxe |
Cerebras-GPT-13B | 13b | cerebras-gpt | cerebras |
Cerebras-GPT-6.7B | 6.7b | cerebras-gpt | cerebras |
Cerebras-GPT-2.7B | 2.7b | cerebras-gpt | cerebras |
Cerebras-GPT-1.3B | 1.3b | cerebras-gpt | cerebras |
Cerebras-GPT-590M | 590m | cerebras-gpt | cerebras |
Cerebras-GPT-256M | 256m | cerebras-gpt | cerebras |
Cerebras-GPT-111M | 111m | cerebras-gpt | cerebras |
ColossalChat
Coati-7B has no public model weights, but claimed to be trained efficiently
you need to install LLaMA compatible transformers library
train on InstructionWild
enhancements
using external tools
toolformer-pytorch (WORK IN PROGRESS)
engshell: using LLM to execute command
using ai models
Microsoft JARVIS aka HuggingGPT leverages huggingface models so ChatGPT can complete complex multimodal tasks.
retrieval plugins
long term memory for oobabooga/text-generation-webui (can run pythia, galatica, opt, gpt-j, gpt-4chan, rwkv and support quantization/acceleration), also
complex memory (KoboldAI-like)
chatpaper summarize paper content.
similar website: typeset.io (can ask questions and explain confusing text, math symbols and tables)
related projects: ChatReviewer ChatImprovement ChatResponse ChatGenTitle
chatgpt retrieval plugin chop document into chunks, process them into vectors and search them using one of many vector search backends. hosted as a fastapi service.
datasets
assistant dialogue
botbots dataset (two chatgpt talking to each other), created by using datasetGPT (LLM automation tool)
ShareGPT52k, also ShareGPT90k (Vicuna)
datasets by BELLE:
unsupervised pretraining
Fandom23K (text classification), part of BigKnow2022
Kinda LLaMA replicates LLaMA dataset, including scraped webpages, code and stackexchange data.
oscar-corpus needs to be downloaded with access token, by accepting agreement with account. containing categorized content and adult content.
dataset preprocessing
deduplicate text dataset in rust, may remove verbose substrings like “to go to the”
oscar project (Open Super-large Crawled Aggregated coRpus) contains some tool for adult content filtering and deduplication.
NLP tools & training methods
fasttext for efficient learning of word representations and sentence classification.
chatml: markup language for ChatGPT, by openai
react-agent-ts enables LLM to chat and use tools by internal dialogues.
babyagi: AI-powered task management system. original post on twitter
Chain-of-hindsights (can learn from negative feedback) in jax and pytorch
interfaces
serge is dockerized and the needs of RAM is according to the size of the model (alpaca), using CPU only