Skip to content

ChatGPT Universe is fleeting notes on ChatGPT, GPT, and large language models (LLMs)

License

Notifications You must be signed in to change notification settings

cedrickchee/chatgpt-universe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 

Repository files navigation

ChatGPT Universe

This tiny place of the Web stores a growing collection of interesting things about ChatGPT and GPT-3 (and beyond) from OpenAI.

ChatGPT was launched on Nov 2022. I want an all-in-one place to keep things about GPT and ChatGPT. So, I hand-curated this list with the help of others (acknowleged below), since early Dec 2022.

The collections are not limited to only the best resources, tools, examples, demos, hacks, apps, and usages of ChatGPT.


The following resources started off based on awesome-chatgpt lists12 but with my own modifications:

General Resources

ChatGPT Community / Discussion

Examples

Example prompts.

Experiments

  • golergka/advent-of-code-2022-with-chat-gpt - Solving Advent of Code 2022 with ChatGPT.

  • max-sixty/aoc-gpt - First place in Advent of Code leaderboard with GPT-3.

  • greshake/Alice - Giving ChatGPT access to a real terminal.

  • RomanHotsiy/commitgpt - Automatically generate commit messages using ChatGPT.

  • gpt-commit-summarizer - Generate Pull Request summaries and Git commit descriptions.

  • vrescobar/chatGPT-python-elm - A Git repository fully generated by ChatGPT.

  • gpt-game - An short game written in Elixir and LiveView using ChatGPT.

  • chatdb - ChatGPT-based database, wait... WHAT?

  • chat-gpt-ppt - Use ChatGPT to generate PPT automatically.

  • emailGPT - A quick and easy interface to generate emails with ChatGPT.

  • gptlang - An experiment to see if we can create a programming language in ChatGPT.

  • ChatRWKV - Like ChatGPT but powered by the RWKV (RNN-based) open language model. [HuggingFace Space: RWKV-4 (7B Instruct v2), code (their claim RNN with Transformer-level LLM performance is a lot better then I expected.)]

  • GraphGPT - Extrapolating knowledge graphs from unstructured text using GPT-3.

  • Doc Search - Explore documents (books, papers, legal docs) without limits. Converse with a book. Inspired by "Book Whisperer" idea (Tweet). Open source alternative to Filechat.io.

  • What if GPT had internal context on your business? (Tweet and video demo) - They build a chatbot that could use context from enterprise data to answer internal business queries. This project integrated LangChain (agent decides what tools to query once the chatbot receives a request) and GPT Index (load Snowflake DB). Interesting idea in knowledge management.

  • MetaAI's LLaMA 🦙

    • cedrickchee/llama - 7B LLaMA model works in Colab on single A100 GPU during inference (text generations). You can see the notebook for early test results for a range of model sizes and GPUs.
      • ChattyLlaMA - My LLaMA-based ChatGPT under heavy development.
    • GGerganov/llama.cpp - Port of Facebook's LLaMA model in C/C++. (notice: Currently, you can run LLaMA-7B in int4 precision on Apple Silicon. On other processor architectures, you can use the FP16 models, but they will be much slower. Support will be added later. Now it supports AVX2 for x86 architectures too. Looks like you can run it on Linux machines. Performance is not optimal, but should be good enough.)
    • 🦙 Simple LLaMA Finetuner - A beginner-friendly interface designed to facilitate fine-tuning the LLaMA-7B language model using LoRA method via the PEFT library on commodity NVIDIA GPUs. With small dataset and sample lengths of 256, you can even run this on a regular Colab Tesla T4 instance.
  • Trying out Flan-UL2 20B - Code walkthrough by Sam Witteveen. This shows how you can get it running on 1x A100 40GB GPU with the HuggingFace library and using 8-bit inference. Samples of prompting: CoT, zeroshot (logical reasoning, story writing, common sense reasoning, speech writing). Lastly, testing large (2048) token input. Bonus: don't have A100? You can use the HuggingFace Inference API for UL2.

  • metamorph - Self-editing GPT-4 application.

  • MiniGPT-4 - A research trying to replicate GPT-4 multi-modal abilities.

  • Llama2.c by Karpathy - Inference Llama 2 in one file of pure C. 👍

    this is just a weekend project: I took nanoGPT, tuned it to implement the Llama-2 architecture instead of GPT-2, and the meat of it was writing the C inference engine in run.c.

    Hat tip to llama.cpp for inspiring this project. I wanted something super minimal so I chose to hard-code the llama-2 architecture, stick to fp32, and just roll one inference file of pure C with no dependencies.

    Less is more.

    This commit make it possible to load and inference Meta's Llama 2 7B model now.

    My fork - performance benchmarks, optimizations, and work-in-progress Zig port. I was porting this project to Rust but these forks beat me to it. The earliest Rust port I've seen is by @garrisonhess but no where found in the project's README.

    Speculation: My hunch is telling me that Karpathy is working towards releasing (and open sourcing?) OpenAI model as weights. Hints: he left and went back to OpenAI, his Tweet

    Worth noting that all of Llama2.c is quite generic to just Transformer language models in general. If/when OpenAI was to release models as weights (which I can neither confirm nor deny!) then most of the code here would be very relevant.

    Lightly edited. Emphasis mine.

    Other hints: his prior works including nanoGPT, Software 2.0, and recently micro-LLMs with Llama2.c

    If you know, you know. 😆

  • llm.c by Karpathy - LLM training in simple, raw C/CUDA. (Plan: once this is in a bit more stable state, videos on building this in more detail and from scratch.) [Tweet]

Blog Posts and Articles

2022

2023

See more

2024

See more

Comparison on real world tasks, benchmarks

We need a benchmarks or some sort of independent and human evaluations of real world tasks.

Prompting (Prompt Programming3)*

According to Gwern:

A new programming paradigm? You interact with it, expressing any task in terms of natural language descriptions, requests, and examples, tweaking the prompt until it "understands" & it meta-learns the new task. This is a rather different way of using a model, and it's better to think of it as a new kind of programming, prompt programming, where the prompt is now a coding language which programs GPT-3 to do new things.

"Prompting" as an engineering discipline is not here to stay. It's a temporary crutch on the way to natural language interfaces. ChatGPT solves a big portion of the prompting problem. Adding engineering to a term to amplify its perceived importance or difficulty might be unnecessary. We could probably call it "prompt testing/hacking" and not lose any of the meaning.

Related articles:

Why "Prompt Engineering" and "Generative AI" are overhyped

Related Tweets:

Prompt engineering is dead, long live dialogue engineering. — VP Product, OpenAI

Wanted: Prompt engineer. Minimum 10 years prompt engineering experience. #hiring #joke

Why does ChatGPT work so well? Is it "just scaling up GPT-3" under the hood? In this 🧵, let's discuss the "Instruct" paradigm, its deep technical insights, and a big implication: "prompt engineering" as we know it may likely disappear soon. Source: https://archive.is/dqHI8

Apparently in 2023, prompt programming is not dead. The hottest new programming language is English ~ Karpathy :))

Simon Willison published In defense of prompt engineering as a counter to the "prompt engineering will be made obsolete as AIs get better" argument that he keep seeing.

The newspaper is saying AI whisperer ('Prompt engineers') is tech's hottest new job (2023).

Prompting Resources

The best prompt engineering guide for developers working with Large Language Models like GPT-4, ChatGPT, and open models like LLaMA would be a combination of multiple resources. Here are some learning resources, tools, libraries, and frameworks to help you learn and master prompt engineering:

  • Prompt Engineering Guide by DAIR.AI - Guides, papers, lecture, and resources for prompt engineering. This section covers the latest prompt engineering techniques for GPT-4, including tips, applications, limitations, and additional reading materials.
  • Learn Prompting - This website is a free, open-source guide on prompt engineering.
  • ChatGPT3-Free-Prompt-List - A free guide (and framework) for learning to create ChatGPT3 Prompts.
  • PromptArray - A prompting language for neural text generators.
  • PromptLayer is a tool for prompt engineers - Maintain a log of your prompts and OpenAI API requests. Track, debug, and replay old completions. Build prompts through trial and exploration.
  • Prompt Engineering by Lilian Weng - aka. in-context prompting, refers to methods for how to communicate with LLM to steer its behavior for desired outcomes without updating the model weights.
  • Guidance enables you to control language models more effectively and efficiently than traditional prompting or chaining.
  • ChatGPT Prompt Engineering for Developers - A free short course by DeepLearning.AI, in collaboration with OpenAI. This course is beginner-friendly, requires only a basic understanding of Python, and is suitable for advanced Machine Learning engineers wanting to approach the cutting-edge of prompt engineering and use LLMs.
  • Brex's Prompt Engineering Guide - It provides a wealth of information on prompt engineering, including tips and tricks for working with LLMs like GPT-4, context window management, and details about various LLMs.
  • A Prompt Pattern Catalog to Enhance Prompt Engineering with ChatGPT (paper) by Vanderbilt University, 2023 - Prompt patterns are a knowledge transfer method analogous to software patterns since they provide reusable solutions to common problems faced in a particular context. It:
    • provides a framework for documenting patterns for structuring prompts to solve a range of problems so that they can be adapted to different domains
    • presents a catalog of patterns that have been applied successfully
    • explains how prompts can be built from multiple patterns to improve the outputs of LLM conversations
  • Prompt engineering techniques by Azure OpenAI Service - There are several advanced techniques in prompt design and prompt engineering that can help increase the accuracy and grounding of LLM-generated responses. These techniques can be generalized across different model types, but some models expect specific prompt structures.
  • An example of LLM prompting for programming (2023)
  • Prompt Engineering vs. Blind Prompting (2023)

By using these resources, you can gain a solid understanding of prompt engineering and develop the skills necessary to work effectively with LLMs.

(* Prompt engineering term was renamed to prompting. The term is overloaded and might be unnecessary.)

Prompting Tools

  • promptfoo - Test your prompts. Evaluate and compare LLM outputs, catch regressions, and improve prompt quality.
  • ianarawjo/ChainForge - An open-source visual programming environment for battle-testing prompts to LLMs.
  • mshumer/gpt-prompt-engineer - Simply input a description of your task and some test cases, and the system will generate, test, and rank a multitude of prompts to find the ones that perform the best. (A side note: the method LLMs evaluating LLMs is a bad idea. It ranks prompts using GPT-4 and trust without oversight. Don't treat LLM as a hammer; apply "auto-*" to everyhing.)

Examples

Papers

Educational

Videos

More: YouTube videos from curated.tivul.com (I didn't curate this, so quality is not guaranteed)

Tweets

Books

Development

AI-native applications development. ChatGPT integration. Next generation AI applications. "App Store" layer for language models (including HuggingFace "App Store").

Unofficial API and SDK.

  • rawandahmad698/PyChatGPT (Python) - Lightweight, TLS-Based API on your CLI without requiring a browser or access token.
  • acheong08/ChatGPT (Python) - Lightweight package for interacting with ChatGPT's API by OpenAI. Uses reverse engineered official API.
  • transitive-bullshit/chatgpt-api (Node.js) - Node.js client for the unofficial ChatGPT API and using a headless browser.
  • ChatGPT-MS - Multi-Session ChatGPT API. The main code is copied from PyChatGPT.

Tools

  • safer-prompt-evaluator - This shows the results from using a second, filter LLM that analyses prompts before sending them to ChatGPT.
  • Dust - Design and deploy large language model (LLM) apps. Generative models app specification and execution engine. Prompt engineering, re-imagined with one goal, help accelerate LLMs deployment.
  • LangChain - Building applications with LLMs through composability. [Good tutorials on LangChain Agents - Joining Tools and Chains with Decisions by Sam Witteveen (video)]
  • LlamaIndex (GPT Index) contains a toolkit of index data structures designed to easily connect LLM's with your external data. [Docs]
  • Evals is a framework for evaluating OpenAI models performance and an open-source registry of benchmarks. It allows anyone to report shortcomings in OpenAI models to help guide further improvements.
  • Chatbot UI - A ChatGPT frontend clone for running locally in your browser.
  • Next.js ChatGPT - Responsive chat application powered by OpenAI's GPT-4, with chat streaming, code highlighting, code execution, development presets, and more.
  • Semantic Kernel (SK) by Microsoft - Integrate cutting-edge LLM technology quickly and easily into your apps. SK supports prompt templating, function chaining, vectorized memory, and intelligent planning capabilities out of the box.
  • simpleaichat - Python package for easily interfacing with chat apps, with robust features and minimal code complexity. The reason for simpleaichat, see the problem with LangChain.
  • OpenLLM - An open platform for operating large language models (LLMs) in production. Fine-tune, serve, deploy, and monitor any LLMs with ease.
  • GGML - AI at the edge. It is a tensor library for machine learning to enable large models and high performance on commodity hardware. It is used by llama.cpp and whisper.cpp.

ChatGPT Plugins

Autonomous Agent Systems with Language Model

  • LLM Powered Autonomous Agents (blog post) by Lilian Weng, 2023.

    The potentiality of LLM extends beyond generating well-written copies, stories, essays and programs; it can be framed as a powerful general problem solver.

    In a LLM-powered autonomous agent system, LLM functions as the agent's brain, complemented by several key components: planning, memory, and tools.

    Challenges: long-term planning and task decomposition, reliability of natural language interface.

  • Smol Developer - Embed a developer agent in your own app.

Tweets

Retrieval Systems

Retrieval systems to access personal or organizational information sources. Embeddings. Database and data store designed for machine learning models and NLP.

  • OpenAI embeddings - OpenAI’s text embeddings measure the relatedness of text strings.

Vector databases for indexing and searching documents

  • Pinecone
  • Milvus - An open-source vector database built to power embedding similarity search and AI applications.
  • Qdrant - Vector similarity search engine and database. It makes it useful for all sorts of neural-network or semantic-based matching, faceted search, and other applications. Embeddings or neural network encoders can be turned into full-fledged applications.
  • Weaviate - an open source vector search engine that stores both objects and vectors, allowing for combining vector search with structured filtering with the fault-tolerance and scalability of a cloud-native database, all accessible through GraphQL, REST, and various language clients.
  • pgvector - An open-source vector similarity search PostgreSQL extension. [Example: gpt3.5-turbo-pgvector]

Blog Posts and Articles

Training Data

  • LAION LLM - Gathering Data for, training and sharing of a LAION Large Language Models (LLLM). The group is still writing a tech proposal of FlanT5-Atlas architecture (or poor man's ChatGPT@Home).
  • open-chatgpt-prompt-collective by Surface Data Collective - A website to generate prompts for training an Open ChatGPT model.
  • BigScience P3 dataset - P3 (Public Pool of Prompts) is a collection of prompted English datasets covering a diverse set of NLP tasks. (PromptSource, a toolkit for creating, sharing and using prompts)
  • Data Augmentation To Create Instructions Form Text - discussion on LAION's Discord. The key to creating a better FlanT5 (ChatGPT@Home).
  • WritingPrompts dataset by FAIR.
  • Templates for FLAN (Finetuned Language Models are Zero-Shot Learners)
  • OpenAI human-feedback dataset on the Hugging Face Hub - The dataset is from the "Learning to Summarize from Human Feedback" paper, where they trained an RLHF reward model for summarization.
  • Stanford Human Preferences Dataset (SHP) - A collection of 385K naturally occurring collective human preferences over text in 18 domains. SHP can be a great complement to Anthropic's HH-RLHF dataset. They also have finetuned and open-sourced two FLAN-T5 models on both datasets. [Tweet from one of the author]
  • language-model-agents - A new dataset that contains a variety of instruction datasets for instruction tuning large language models. In addition, the project contains some simple data preparation and training scripts to train an instruction tuned LLM and try out (ipynb) some early alpha versions (pythia13b-instruct) of instruction tuned agents.
  • Self-Instruct: Aligning LM with Self Generated Instructions - A good dataset for training instruction models to be as good as InstructGPT by OpenAI. It contains 52k instructions, paired with 82K instance inputs and outputs. They also release a new set of 252 expert-written tasks and their instructions used in the human evaluation.
  • In OpenAI's papers on GPT-2 and GPT-3.x, they mentioned references to these datasets:
    • Common Crawl
      • Number of Tokens: 410 billion
      • Weight in training mix: 60%
    • WebText2
      • An internet dataset created by scraping URLs extracted from Reddit submissions with a minimum score of 3 as a proxy for quality, deduplicated at the document level with MinHash
      • Number of Tokens: 19 billion
      • Weight in training mix: 20%
    • Books14
      • Number of Tokens: 12 billion
      • Weight in training mix: 8%
    • Books24
      • Number of Tokens: 55 billion
      • Weight in training mix: 8%
    • Wikipedia
      • Number of Tokens: 3 billion
      • Weight in training mix: 3%

Open Source ChatGPT

We want a ChatGPT alternative like Stable Diffusion.

Frustrated by all the gatekeeping around AI? Still waiting or cannot get access to LLaMA?

Goals

  • Open source effort towards OpenAI's ChatGPT.
  • Reverse engineer and replicate ChatGPT models and training data.
  • Truly open models. 100% non-profit. 100% free.

Ultimate goal: self-hosted version of ChatGPT.

Lessons

Takeaways from EleutherAI one year retro (2021):

  • Access to enough compute/hardware/GPU alone won't help you succeed. You need:
    • a proper dataset (beyond the Pile and c4)
    • research expertise
    • engineering capabilities
    • a lot of hard work

Projects

  • FLAN-T5 XXL aka. ChatGPT@Home is a public model that has undergone instruction finetuning. XXL is a 11B model. It is currently the most comparable model against ChatGPT (InstructGPT models are initialized from GPT-3.x series (model card)). There are successful attempts deploying FLAN-T5 on GPU with 24 GB RAM with bitsandbytes-Int8 inference for Hugging Face models. You can run the model easily on a single machine, without performance degradation. This could be a game changer in enabling people outside of big tech companies being able to use these LLMs. Efforts are already underway to create a better FLAN-T5. The community (i.e., LAION) are working on FlanT5-Atlas architecture and a collection of prompted/instructions datasets.

  • Open-Assistant - Open-source ChatGPT replication by LAION, Yannic Kilcher et al. This project is meant to give everyone access to a great chat based large language model. (Open Assistant Live Coding with Yannic Kilcher (video)) High-level plans:

    Phase 1: Prompt collection for supervised finetuning (SFT) and to get the prompts for model generated completions/answers.

    Phase 2: Human feedback (e.g. ranking) of multiple outputs generated by the model. Example five model outputs are shown and the user should rank them from best to worst.

    Phase 3: Optimization with RLHF which we plan to do via TRLX. And then the we iterate with this new model again over phase 2 and phase 3 hopefully multiple times.

    Models will be trained on Summit supercomputer (~6 million NVIDIA V100 hrs per year) [source]

    More info, see the LAION LLM proposal (Google Doc) above.

    Progress:

    • Feb 2023: Joi-20B-instruct is a 20B model fine-tuned on a diverse set of instruction datasets and based on NeoX-20B.

      Unofficial: This is an early pre-release model (part of development of MVP, phase 1), not directly OpenAssistant (OA) models. They are experiments by the ML team to learn what data, foundation model, methods will work well for OA. As is stated in the website's FAQ, no demo yet. This is for developers to test out early development version of instruction tuning for the model. Maybe first OA models will be derived from these. They have been training good models on a rolling basis as new datasets get completed. There are a variety of model sizes from 1.4B to 20B params available on the HF Hub.

      Chatty-LMS build by HuggingFace H4 team - A UI for testing Joi-20B-instruct model. You can chat with it. The agent will reply as Joi (the bot nickname).

      Example of code snippet to run the model on your own GPUs: https://gist.github.com/cedrickchee/236e53ed2dca95bd96e5baa35cdd7be2

    • Mar 2023: They're currently processing the data collected from contributions. The data has over 100k messages, meaning millions of contributions. The quality of the data is beyond what they've ever expected — most of contributions are super high quality. Now, they are exporting the v1 of the dataset. As said, they are currently training the initial batch of models.

    • Subreddit

    Note: Please see the GitHub repo for up-to-date info.

  • CarperAI/TRLX

    News (2023-01-13): They replicated OpenAI's Learning to Summarize paper using trlX library. [report]

  • lucidrains/PaLM-rlhf-pytorch - (WIP) Implementation of RLHF on top of the PaLM architecture. Basically ChatGPT but with PaLM. The developer plan to add retrieval functionality too, à la RETRO. [Tweet]

    2023: Something funny in their FAQ:

    There is no trained model. This is just the ship and overall map. We still need millions of dollars of compute + data to sail to the correct point in high dimensional parameter space. Even then, you need professional sailors (like Robin Rombach of Stable Diffusion fame) to actually guide the ship through turbulent times to that point.

    News (2022-12-31): There's now an open source alternative to ChatGPT, but good luck running it - My comments: No it hasn't. This is NOT an actual trained model (no weights) you can use. This is just code for training a ChatGPT-like model. Furthermore, the training data (enwik8) is small.

    CarperAI's large scale RLHF-aligned model (TRLX) train with LAION's data is coming out early next year. (Source: Tweet)

  • allenai/RL4LMs - RL for language models (RL4LMs) by Allen AI. It's a modular RL library to fine-tune language models to human preferences.

  • GPT-JT by Together Research Computer is an example that distributes model training over geo-distributed of diverse computers (and GPUs). GPT-JT (6B) is a variant forked off EleutherAI's GPT-J, and performs exceptionally well on text classification and other tasks. On classification benchmarks such as RAFT, it comes close to state-of-the-art models that are much larger (e.g., InstructGPT davinci v2)! [Paper: Decentralized Training of Foundation Models in Heterogeneous Environments (2022)]

  • LEAM (Large European AI Models) - The EU planning to fund the development of a large-scale ChatGPT-like model. [website, project documents (English, PDF), concept paper (German, PDF)]

  • /r/AiCrowdFund - A place just started (2023) where people can find a way to crowd fund (with GPUs) a large AI. I'm not sure whether they've seen Petals where you can run LLMs at home, BitTorrent‑style (federated learning?). It seems to be headed in that direction.

  • Open source solution replicates ChatGPT training process - They presents an open-source low-cost ChatGPT equivalent implementation process, including:

    • A mini demo training process for users to play around, which requires only 1.62GB of GPU memory and would possibly be achieved on a single consumer-grade GPU, with up to 10.3x growth in model capacity on one GPU.
    • An open-source complete PyTorch-based ChatGPT equivalent implementation process.
    • Compared to the original PyTorch, single-machine training process can be 7.73 times faster and single-GPU inference can be 1.42 times faster.
    • GitHub Repo: https://github.com/hpcaitech/ColossalAI

    I got the impression that the point of the article was to plug their Colossal-AI framework and product, a collection of parallel components, tools, and hardwares for large models. Frankly, their numbers do look suspicious to me, unless I've missed something. What makes ChatGPT interesting (over GPT-3) is the RLHF process. They do claim to replicate RLHF process completely. But, the article touch lightly about their RLHF implementation. They train RLHF using a small awesome-chatgpt-prompts as example dataset. Their RLHF implementation details are hidden here: https://github.com/hpcaitech/ColossalAI/blob/main/applications/ChatGPT. Lack of demo doesn't inspire too much confidence though.

  • FlexGen - Running LLMs like OPT-175B/GPT-3 on a single GPU (e.g., a 16GB T4 or a 24GB RTX3090 gaming card). Key features: 1) up to 100x faster than other offloading systems. 2) Compress both the parameters and attention cache of models down to 4 bits with negligible accuracy loss. 3) Distributed pipeline parallelism. They also provide a Python script and instructions that you can run a chatbot with OPT models. This should solve the challenges of high computational and memory requirements of LLM inference. The chatbot they build with FlexGen and OPT models is not instruction-tuned (RLHF). So this chatbot is not ChatGPT-like though. [High-throughput Generative Inference of LLMs with a Single GPU (paper), Stanford et al., 2023]

    • Runtime breakdown from their paper:
      • Faster than DeepSpeed offloading (Table 2. Generation throughput on 1 GPU = 1.12 token/s (using 4-bit compression))
    • FlexGen achieves super-linear scaling on decoding throughput (which only counts decoding time costs assuming the prefill is done). This means if we generate more tokens, pipeline parallelism will show its benefits as decoding time will dominate.

    Reviews (from Tweets):

  • ChatLLaMA by NebulyAI - LLaMA-based ChatGPT-style training process implementation. The code represents the algorithmic implementation for RLHF training process that leverages LLaMA-based architectures and does not contain the model weights. This is NOT a ChatGPT-like product. Their RLHF implementation (actor critic trainer, actor-reward model) was inspired by lucidrains's PaLM-rlhf-pytorch implementation. You can also generate your own prompt dataset using LangChain's agents and prompt templates. (They have removed their misleading "15x faster training than ChatGPT" claim. We don't know how fast ChatGPT trained. Many people debate the performance of that repo (based on what?). Another evidence of people talking about things they don't understand about in deep learning. We should stay grounded.)

  • Fine-tuning 20B LLMs with RLHF on a 24GB consumer GPU by HuggingFace - It is now possible using the integration of TRL with PEFT. The blog post explains how they achieve this step by step. The base model is gpt-neox (I was hoping the show fine-tuning LLaMA. I think they can't because of LLaMA licensing restrictions.)

  • OpenChatKit by Together Compute - Build your own ChatGPT. A powerful, open-source base to create chatbots for various applications. Try. Much more than a model release. They are releasing a set of tools and processes for ongoing improvement. OpenChatKit includes 4 key components:

    • An instruction-tuned LLM, fine-tuned for chat from EleutherAI's GPT-NeoX-20B with over 43M instructions on compute available under Apache-2.0 license on HuggingFace.
    • A set of customization recipes to fine-tune the model to achieve high accuracy on your tasks documented and available as open-source on GitHub, along with code to recreate our model results.
    • An extensible retrieval system enabling you to augment bot responses with information from a document repository, API, or other live-updating information source at inference time, with open-source examples for using Wikipedia or a web search API.
    • A moderation model, fine-tuned from GPT-JT-6B, designed to filter which questions the bot responds to, also available on HuggingFace.
    • They collaborated with the tremendous communities at LAION and friends to create the Open Instruction Generalist (OIG) 43M dataset used for these models.
  • Alpaca: A Strong Open-Source Instruction-Following Model by Stanford - Alpaca is a fine-tuned version of LLaMA that can respond to instructions like ChatGPT. Simon Willison wrote about Alpaca, and the acceleration of on-device large language model development. The team at Stanford just released the Alpaca training code for fine-tuning LLaMA with Hugging Face's transformers library. Also, the PR implementing LLaMA models support in Hugging Face was approved yesterday.

  • A list of open alternatives to ChatGPT, group by model and tags (B: bare, M: mildly bare, F: full, C: complicated).

  • Hello Dolly: Democratizing the magic of ChatGPT with open models [Code: fine-tuning GPT-J 6B model on the Alpaca dataset] - My thoughts: LLMs could possibly be the first technology that rapidly transforms from a groundbreaking innovation to a widely adopted standard. Within two years, it is anticipated to be an integrated feature in all applications and tools, rather than a distinguishing factor.

See cedrickchee/awesome-transformer-nlp for large language models research.

Browser Extensions

Use ChatGPT anywhere.

  • Chrome extension to access ChatGPT as a popup on any page
  • ChatGPT for Google - Chrome/Edge/Firefox extension to display ChatGPT response alongside Google Search results.
  • ChatGPT Everywhere - Chrome extension that adds ChatGPT to every text box on the internet. (demo)
  • Chrome extension - A really simple Chrome Extension (manifest v3) that you can access OpenAI's ChatGPT from anywhere on the web.
  • summarize.site - Chrome extension to summarize blogs and articles using ChatGPT.
  • WebChatGPT - ChatGPT with Internet access. A browser extension (Chrome and Firefos) that augments your ChatGPT prompts with relevant search results from the Web. (Remember, ChatGPT cannot access the Web and has limited knowledge of the world after 2021)
  • XP1 - GPT-based Assistant with access to your Tabs.
  • ExtractGPT - A browser extension for scraping data from structured & unstructured pages.
  • ChatGPT for Twitter - Chrome extension to generate tweets/replies to tweets in different moods and by optionally giving instructions.

Access ChatGPT From Other Platforms

Bots

Tools

Command-Line Interface (CLI)

  • chatgpt-conversation - Voice-based chatGPT.
  • Shell GPT - A CLI productivity tool powered by OpenAI's text-davinci-003 model, will help you accomplish your tasks faster and more efficiently.
  • AI Files - A CLI that helps you organize and manage your files using GPT-3: auto add tag to the file, auto create directories based on the file content, etc. Be cautious when sharing personal info though.
  • Chatblade - A CLI Swiss Army Knife for ChatGPT.
  • 🍬ChatGPT (and GPT4) Wrapper🍬 - An open-source unofficial Power CLI, Python API and Flask API that lets you interact programmatically with ChatGPT/GPT4.

Editors and IDEs

Others

Applications

Web applications.

  • ShareGPT - A web app for sharing your wildest ChatGPT conversations with one click. (demo)
  • LearnGPT - Share ChatGPT examples. See the best voted examples. Their goal is to create a resource for anyone who wants to learn more about ChatGPT.
  • ShowGPT - Show your ChatGPT prompts.
  • The search engine for developers, powered by large, proprietary AI language models.
  • GPTDuck – Ask questions about any GitHub repo.
  • LLM Garden - A number of experiments using GPT-3, delivered in a web app.
  • Epic Music Quiz - A free webapp for creating your own custom Music Video Quiz using youtube videos that can be played solo or multiplayer with friends. Optional AI generation of quiz questions.
  • Gerev - AI-powered search engine for your organization.

Desktop applications.

Self-hosted Open-Source Models and Tools

Open-source models are faster, more customizable, more private, and pound-for-pound more capable. 5

Self-hosted LLMs are the way forward for enterprise. Run Large Language Models locally on your devices.

  • imartinez/privateGPT - Ask questions to your documents without an Internet connection, using the power of LLMs. 100% private, no data leaves your execution environment at any point. You can ingest documents and ask questions.
  • StableLM - Stability AI Language Models. Developers can freely inspect, use, and adapt StableLM base models for commercial or research purposes, subject to the terms of the CC BY-SA-4.0 license.
  • openlm-research/open_llama - OpenLLaMA, a permissively licensed open source reproduction of Meta AI's LLaMA 7B trained on the RedPajama dataset.
  • mlc-ai/MLC-LLM - Enable everyone to develop, optimize and deploy LLaMA, GPT (AI models) natively on consumer-grade GPUs and phones.
  • How to run LLaMA 13B with a 6GB graphics card
  • huggingface/text-generation-inference (TGI) - A Rust, Python and gRPC server for text generation inference. Used in production at HuggingFace to power LLMs api-inference widgets. Optimized to run Llama 2 model. If you have a decent GPU and Linux computer, you can run Llama 2 locally without much fuss.
  • vllm-project/vllm - A high-throughput and memory-efficient inference and serving engine for LLMs. vLLM has up to 3.5x more throughput than HuggingFace Text Generation Inference (TGI). It uses PagedAttention, their new attention algorithm that effectively manages attention keys and values.
  • OpenNMT/CTranslate2 - Fast inference engine for Transformer models. It's a C++ and Python library. (Underrated: faster than TGI and vllm (Jul 2023). Bonus: the easiest to use)
  • jmorganca/Ollama - A macOS app for Apple Silicon that enables you to get up and run LLMs, locally. Windows & Linux support coming soon.
  • A guide to running Llama 2 locally by Replicate (2023) - They cover three open-source tools you can use to run Llama 2 on your own devices: Llama.cpp (Mac/Windows/Linux), Ollama (Mac) & MLC LLM (iOS/Android).
  • turboderp/exllama - A more memory-efficient rewrite of the HF transformers implementation of Llama for use with quantized weights. Can run a Llama2-70B with 16K context length, but it's still early days. This is saving gigabytes off the alternatives like llama.cpp.
  • nomic-ai/GPT4All - An ecosystem to train and deploy powerful and customized large language models that run locally on consumer grade CPUs. A GPT4All model is a 3GB - 8GB file that you can download and plug into the GPT4All. (tips: want to run Llama 2 easily? Download GGML version of Llama 2 (from "TheBloke"), copy to the models directory in the GPT4All software, launch GPT4All and that's it)
  • LocalAI and abetlen/llama-cpp-python combo - Self-hosted, community-driven, local OpenAI-compatible API. Drop-in replacement for OpenAI running LLMs on consumer-grade hardware. LocalAI is an API to run ggml compatible models: llama, gpt4all, rwkv, whisper, vicuna, koala, gpt4all-j, cerebras, falcon, dolly, starcoder, and many other.
  • Optimizing LLM latency (2023) - An exploration of inference tools for open source LLMs focused on latency.
  • Code Llama, a state-of-the-art large language model for coding (2023) - Code Llama is a code-specialized version of Llama 2 that was created by further training Llama 2 on its code-specific datasets. It can generate code, and natural language about code, from both code and natural language prompts. It can also be used for code completion and debugging. It supports many of the most popular languages being used today. They are releasing 3 sizes of model with 7B, 13B, and 34B parameters. All models are trained on sequences of 16k tokens and show improvements on inputs with up to 100k tokens. Additionally, they have further fine-tuned two additional variations of Code Llama: Code Llama - Python and Code Llama - Instruct. Their benchmark testing showed that Code Llama performed better than open-source, code-specific LLMs. [Model weights (34B fp16) from TheBloke, Model codes]
  • Meta Llama 3: Real-world Testing and Results

2023 trends

llama2.c ➡️ micro-LLMs (<10B params?) - hackable and efficient, but not at the cost of simplicity, readability, portability.

llama.cpp ➡️ inference at the edge, deployment efficiency.

Growing interest in local, private micro-LLMs and deploying them in laptops, phones, MCUs, etc.

Infrastructure

Newsletters

AI Safety and Ethics

AI alignment and AI interpretability.

AGI and Humanity

Tweets

ChatGPT is incredibly limited, but good enough at some things to create a misleading impression of greatness.

It's a mistake to be relying on it for anything important right now. It's a preview of progress; we have lots of work to do on robustness and truthfulness.

fun creative inspiration; great! reliance for factual queries; not such a good idea. — Sam Altman, OpenAI

News covering to that Tweet.

John Carmack answering questions about Computer Science (Software Engineering) career from a concerned student:

Build full "product skills" and use the best tools for the job, which today might be hand coding, but later might be AI guiding you, you will probably be fine — Tweet

I’m hearing chatter of PhD students not knowing what to work on.

My take: as LLMs are deployed IRL, the importance of studying how to use them will increase.

Some good directions IMO (no training): prompting, evals, LM interfaces, safety, understanding LMs, emergence

Jason Wei

GPT-4 has been out for 72 hours, and it could change the world! Here are some amazing and important things it can't do (yet):

  1. Solve global warming, 2. Cure cancer or infectious diseases, 3. Alleviate the mental health crisis, 4. Close the information and education gap, 5. End war and strife, and many more.

Graham Neubig

Stop saying: AI will replace humans.

Start saying: humans who know how to use AI at work will replace those who don’t.

Jim Fan

Applications and Tools

  • GPT-2 Output Detector [code] [demo]

    The @HuggingFace GPT detector works very well on ChatGPT-created text. I ran 5 student essays and 5 ChatGPT essays for the same prompt through it, and it was correct every time with >99.9% confidence. — @cfiesler

  • OpenAI's attempts to watermark AI text hit limits - Watermarking may allow for detection of AI text. This post discusses some of the limitations but suggests that it's worth pursuing. Prof. Scott Aaronson "expressed the belief that, if OpenAI can demonstrate that watermarking works and doesn't impact the quality of the generated text, it has the potential to become an industry standard.". OpenAI engineer Hendrik Kirchner built a working prototype.
    • Related: Scott Aaronson talks AI Safety on Nov 2022 (video) - GPT outputs will be statistically watermarked with a secret signal that you can use to proof the outputs came from GPT, making it much harder to take a GPT output and pass it off as if it came from a human. How it works, it selects the tokens pseudorandomly using cryptographic PRNG that secretly biases a certain score which you can also compute if you know the key for this PRNG. Scott doesn’t give too many details about how it works and he admits this can be defeated with enough effort, for example by using one AI to paraphrase another. But if you just insert or delete a few words or rearrange the order of some sentences, the signal will still be there. So it's robust against those sorts of interventions. Many suspect its possible to bypass using a clever decoding strategy. Scott is also researching: Planting Undetectable Backdoors in Machine Learning Models (2022 paper)". People are questioning whether they are missing something, or are all these attempts at recognising LLM outputs obviously destined to fail? I think they've clearly thought about this but still think this is useful (from transcript of the lecture: https://scottaaronson.blog/?p=6823).
  • GPTZero - An app that can quickly and efficiently detect whether an essay is ChatGPT or human written. [Case study (exploring false positives), Tweet]
  • A Watermark for Large Language Models (paper) by University of Maryland (2023). It operates by maintaining a "whitelist" and "blacklist" of high-log probability words. [Tweet (explainer thread by one of the authors), demo, code]
    • They test the watermark using a LLM from the Open Pretrained Transformer (OPT) family, and discuss robustness and security.
  • DetectGPT - Zero-Shot machine-generated text detection using probability curvature. [paper (2023), code, demo, and Twitter thread]
    • Method: language model output will minimize log-probability in token space. Because of this, to detect if text is generated by a language model, "perturb" the phrase slightly and measure the curvature in log-probability.
  • New AI classifier for indicating AI-written text by OpenAI. [try the classifier]
    • Results: correctly flags AI-generated text 26% of the time, incorrectly flags human-generated text 9% of the time.
  • Not by AI - Your AI-free content deserves a dadge.

Security

LMOps

General technology for enabling AI capabilities with LLMs and generative AI models.

Emerging Software Development and Business Paradigm

Software 2.0? Software 3.0? Generative AI?

(Reflections on how best to think of the current state of software engineering, AI products, and pitfalls people tend to make with new tech.)

It's very rare to see a new building block emerge in computing. Large AI models like ChatGPT represent a fundamentally new building block. By integrating large models into software, developers can expose functionality that wouldn't be possible otherwise. This may be one of the biggest changes in software we've ever seen — a new type of software.

Using LLMs in isolation is often not enough to create a powerful app — the real power comes when you are able to combine them with other sources of knowledge or computation.

Is Software 3.0 silly? worth the hype?

I don't know. I think of "Software 3.0" as:

  • a metaphor for the new trends in software development and large AI models
  • a different paradigm; companies leverage customer data to train their proprietary AI models and optimize product experiences and customers receive added value from the product.

You say investment into generative AI companies is way too exuberant right now? What's the big deal with Generative AI? Is it the future or the present?

1- Recent AI developments are awe-inspiring and promise to change the world. But when?

2- Make a distinction between impressive 🍒 cherry-picked demos, and reliable use cases that are ready for the marketplace

3- Think of models as components of intelligent systems, not minds

4- Generative AI alone is only the tip of the iceberg

The current climate in AI is making some uncomfortable. Everyone is expecting as a sure thing "civilization-altering" impact (& 100x returns on investment) in the next 2-3 years. 6

The foundation for the next era of computing

What's next in computing after Moore's law? You can think about this in many ways. But, here is an analogy 7:

  • Apple/Google ➡️ OpenAI
  • iPhone/Samsung ➡️ GPT-4
  • iOS/Android ➡️ ChatGPT
  • App Store/Play Store ➡️ ChatGPT Plugins

Some experts say that ChatGPT is the AI's iPhone moment. 8

Research and Analysis

  • OpenAI Is Doomed? - Et tu, Microsoft? by SemiAnalysis, May 2024 - Meta, Google, Anthropic, DeepSeek, Inflection Phi Wizard, Distribution/Integration vs Capital/Compute?

    It’s clear that given enough compute, the largest tech companies can match OpenAI's GPT-4. GPT-4 class intelligence will be available to anyone who can rent an H100 server.

    Yesterday, China's DeepSeek V2 open-sourced a new model that is both cheaper to run than Meta's Llama 3 70B and better. Deepseek's model is markedly cheaper than any other competitive model. Even more interesting is the novel architecture DeepSeek has brought to market. They did not copy what Western firms did. ... at 1/5th the compute of Meta's Llama 3 70B. For those keeping track, DeepSeek V2 training required 1/20th the flops of GPT-4 while not being so far off in performance. Also the paper is probably the best one this year in terms of information and details shared.

    Microsoft is attempting to move the majority of their inference volumes away from OpenAI’s models to their own models that they developed IP for directly. This includes the Copilot and Bing initiatives that are driving much of Microsoft’s AI story. The Microsoft Phi model team is well known for training small models with significant amounts of synthetic data from larger models. The latest Phi-3 model release has been seriously impressive. Another team at Microsoft, WizardLM, has created something even more amazing called "Evol-Instruct." ... Microsoft's first big effort at hitting GPT-4 class is currently happening with the MAI-1 ~500B parameter MOE model. It utilizes the Inflection pretraining team ...

    Is Distribution And Integration King? With DeepSeek and Llama 3 405B coming to the open source, there is very little reason for enterprises to not host their own model. Zuckerberg’s strategy of using open-source models to slow down competitions commercial adoption and attract more talent is working wonders. Fine tuning is no longer a monumental task given Databricks ... One of OpenAI’s advantages is that they have been ahead in collecting usage data, but that is changing soon enough. This is because both Meta and Google have more direct access to the consumer. To serve up 3B people – you clearly need to have a small and efficient model to bring the cost of inference down. Either Meta has made the financial math work or it is prepared to invest heavily to execute a land grab in the consumer AI space.

    ... we don’t believe OpenAI is doomed, in fact this is all just window dressing practicing the bear argument in the leadup to the next generation model ...


Demos

Demos9 and examples in the form of tweets:

Day 1, 2022

  1. Generating detailed prompts for text-to-image models like MidJourney & Stable Diffusion
  2. ChatGPT outperforming Google search
  3. Generating code for automated RPA, e.g. automating the click sequence for house search in Redfin
  4. Generating on-demand code contribution ideas for an about-to-be-fired Twitter employee
  5. An app builder such as essay automatic summarization
  6. Personal trainer and nutritionist: Generating a weight loss plan, complete with calorie targets, meal plans, a grocery list, and a workout plan
  7. Building a virtual machine inside ChatGPT
  8. Code debugging partner: explains and fixes bugs
See more
  1. Generating programmatic astrophoto processing by detecting constellations in an image
  2. VSCode extension that allows using ChatGPT within the context of a code
  3. Building web AR scenes by using text commands
  4. Stringing cloud services to perform complex tasks
  5. Generating legal contracts
  6. A Chrome extension that presents ChatGPT results next to Google Search
  7. Solving complex coding questions - the end of LeetCode?
  8. Solving complex academic assignments - the end of Chegg?
  9. Answering unanswered Stack Overflow questions - the end of Stack Overflow?
  10. Explaining complex regex without any context
  11. Generating hallucinated chat with a hallucinated person in a hallucinated chat room
  12. Bypassing OpenAI's restrictions by disclosing ChatGPT's belief system
  13. Uncovering ChatGPT's opinion of humans including a detailed destruction plan
  14. An insightful executive summary of ChatGPT
  15. Building e-commerce websites: stitching ChatGPT & Node script to automatically generate SEO-driven blog posts using GPT 3
  16. A ChatGPT extension that generates text, tweets, stories, and more for every website
  17. An extension that adds "Generate PNG" and "Export PDF" functions to ChatGPT's interface
  18. A thread showcasing ways of helping hackers by using ChatGPT
  19. Generating editorial pieces like sports articles
  20. Generating SEO titles to optimize sites Click Through Rate
  21. Creating social games. E.g. guess which city is featured in a picture
  22. A tutorial on how to use ChatGPT to create a wrapper R package
  23. ChatGPT can basically just generate AI art prompts. I asked a one-line question, and typed the answers verbatim straight into MidJourney and boom. Times are getting weird...
  24. A collection of wrong and failed results from ChatGPT
  25. Use the AWS TypeScript CDK to configure cloud infrastructure on AWS
  26. Seeing people trick ChatGPT into getting around the restrictions OpenAI placed on usage is like watching an Asimov novel come to life
  27. Never ever write a job description again
  28. ChatGPT is getting pretty close to replicating the Stack Overflow community already
  29. That's how I'll pick books in the future
  30. ChatGPT is amazing but OpenAI has not come close to addressing the problem of bias. Filters appear to be bypassed with simple tricks, and superficially masked
  31. i'm the ai now
  32. All the ways to get around ChatGPT's safeguards

2023

  1. Programming with ChatGPT. Some observations
  2. The best ways to use ChatGPT. 8 ways ChatGPT can save you thousands of hours in 2023
  3. Everyone’s using ChatGPT. Almost everyone's STUCK in beginner mode. 10 techniques to get massively ahead with AI (cut-and-paste these prompts)
  4. David Guetta uses ChatGPT and uberduck.ai to deepfake Eminem rap for DJ set
  5. A thread about GPT-4, highlighting some of the interesting examples, tricks, and discussions
  6. All the best examples of GPT-4
  7. A token-smuggling jailbreak for ChatGPT-4

Others

Mostly found in GitHub Gist:

ChatGPT Alternatives

  • Anthropic's Claude - Overall, Claude is a serious competitor to ChatGPT, with improvements in many areas. [review by Riley Goodside et al., my short analysis]
    • Claude 2 - A new phase of production-grade LLMs: longer context and deeper integration. Early test results inspired confidence — much closer to GPT-4 in terms of quality. The longer context does feel like it unlocks some unique capabilities. I gave it a task of summarizing two requirement spec PDF. It's quite good in cross cross referencing things in different document. It does exhibits some complex analysis strengths. I think this level of generation quality on this task is novel, unlike any of the previous LLMs.
  • Perplexity - A new search interface that uses OpenAI GPT 3.5 and Microsoft Bing to directly answer any question you ask.
  • Bart from Google
  • Sparrow from DeepMind
  • YouChat
  • Poe from Quora
  • Bloom from BigScience
  • Character AI
  • Jasper Chat
  • Phind - An "assistant" that simply tells users what the answer is. Optimized for developers and technical questions. Powered by proprietary LLMs (they use OpenAI API and their own models). It's strange that they market themself as search engine.

Lightly based on publicly announced ChatGPT variants and competitors Tweet.

ChatGPT Plugins

Competitors:

License

I am providing code and resources in this repository to you under an open source license. Because this is my personal repository, the license you receive to my code and resources is from me and not my employer.

Footnotes

  1. https://github.com/humanloop/awesome-chatgpt

  2. https://github.com/Kamigami55/awesome-chatgpt

  3. In a Reddit thread "The problem with prompt engineering" where Gwern (author) claims to be the origin of the term prompt programing/prompt engineering. His argument is reasonable and well written.

  4. A key component of GPT-3.5 models are Books1 and Books2. Books1 - aka BookCorpus, a free books scraped from smashwords.com. Books2 - We know very little about what this is, people suspect it's libgen, but it's purely conjecture. Nonetheless, books3 is "all of bibliotik". 2

  5. Google "We Have No Moat, And Neither Does OpenAI"

  6. François Chollet's Tweet

  7. OpenAI just laid out the foundation for the next era of computing

  8. An interview by stratechery with NVIDIA CEO about AI's iPhone moment

  9. https://github.com/saharmor/awesome-chatgpt