llama2.c VS llama

Compare llama2.c vs llama and see what are their differences.

llama2.c

Inference Llama 2 in one file of pure C (by karpathy)

llama

Inference code for Llama models (by meta-llama)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
llama2.c llama
13 184
16,071 53,227
- 2.7%
9.2 8.1
10 days ago 9 days ago
C Python
MIT License GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

llama2.c

Posts with mentions or reviews of llama2.c. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-01.
  • Stuff we figured out about AI in 2023
    5 projects | news.ycombinator.com | 1 Jan 2024
    FOr inference, less than 1KLOC of pure, dependency-free C is enough (if you include the tokenizer and command line parsing)[1]. This was a non-obvious fact for me, in principle, you could run a modern LLM 20 years ago with just 1000 lines of code, assuming you're fine with things potentially taking days to run of course.

    Training wouldn't be that much harder, Micrograd[2] is 200LOC of pure Python, 1000 lines would probably be enough for training an (extremely slow) LLM. By "extremely slow", I mean that a training run that normally takes hours could probably take dozens of years, but the results would, in principle, be the same.

    If you were writing in C instead of Python and used something like Llama CPP's optimization tricks, you could probably get somewhat acceptable training performance in 2 or 3 KLOC. You'd still be off by one or two orders of magnitude when compared to a GPU cluster, but a lot better than naive, loopy Python.

    [1] https://github.com/karpathy/llama2.c

    [2] https://github.com/karpathy/micrograd

  • Minimal neural network implementation
    4 projects | /r/C_Programming | 6 Dec 2023
    A bit off topic but ML-guru Mr Karpathy has implemented a state-of-art Llama2 model in a plain C with no dependencies on 3rd party/freeware libraries. See repo.
  • WebLLM: Llama2 in the Browser
    4 projects | news.ycombinator.com | 28 Aug 2023
    Related. I built karpathy’s llama2.c (https://github.com/karpathy/llama2.c) without modifications to WASM and run it in the browser. It was a fun exercise to directly compare native vs. Web perf. Getting 80% of native performance on my M1 Macbook Air and haven’t spent anytime optimizing the WASM side.

    Demo: https://diegomarcos.com/llama2.c-web/

    Code:

  • Lfortran: Modern interactive LLVM-based Fortran compiler
    2 projects | news.ycombinator.com | 28 Aug 2023
    Would be cool for there to be a `llama2.f`, similar to https://github.com/karpathy/llama2.c, to demo it's capabilities
  • Llama2.c L2E LLM – Multi OS Binary and Unikernel Release
    4 projects | news.ycombinator.com | 25 Aug 2023
    This is a fork of https://github.com/karpathy/llama2.c

    karpathy's llama2.c is like llama.cpp but it is written in C and the python training code is available in that same repo. llama2.c's goal is to be a elegant single file C implementation of the inference and an elegant python implementation for training.

    His goal is for people to understand how llama 2 and LLM's work, so he keeps it simple and sweet. As the project progresses, so will features and performance improvements added.

    Currently it can infer baby (small) Story models trained by Karpathy at a fast pace. It can also infer Meta LLAMA 2 7b models, but at a very slow rate such as 1 token per second.

    So currently this can be used for learning or as a tech preview.

    Our friendly fork tries to make it portable, performant and more usable (bells and whistles) over time. Since we mirror upstream closely, the inference capabilities of our fork is similar but slightly faster if compiled with acceleration. What we try to do different is that we try to make this bootable (not there yet) and portable. Right now you can get binary portablity - use the same run.com on any x86_64 machine running on any OS, it will work (possible due to cosmopolitan toolchain). The other part that works is unikernels - boot this as unikernel in VM's (possible due unikraft unikernel & toolchain).

    See our fork currently as a release early and release often toy tech demo. We plan to build it out into a useful product.

  • FLaNK Stack Weekly for 14 Aug 2023
    32 projects | dev.to | 14 Aug 2023
  • Adding LLaMa2.c support for Web with GGML.JS
    2 projects | /r/LocalLLaMA | 14 Aug 2023
    In my latest release of ggml.js, I've added support for Karapathy's llama2.c model.
  • Beginner's Guide to Llama Models
    2 projects | news.ycombinator.com | 12 Aug 2023
    I really enjoyed Anrej Kaparthy's llama2.c project (https://github.com/karpathy/llama2.c), which runs through creating and running a miniature Llama2 architecture model from scratch.
  • How to scale LLMs better with an alternative to transformers
    1 project | news.ycombinator.com | 27 Jul 2023
    - https://github.com/karpathy/llama2.c

    I think there may be some applications in this limited space that are worth looking into. You won’t replicate GPT-anything but it may be possible to solve some nice problems very much more efficiently that one would expect at first.

  • A simple guide to fine-tuning Llama 2
    1 project | news.ycombinator.com | 27 Jul 2023
    It does now: https://github.com/karpathy/llama2.c#metas-llama-2-models

llama

Posts with mentions or reviews of llama. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-18.
  • Mark Zuckerberg: Llama 3, $10B Models, Caesar Augustus, Bioweapons [video]
    3 projects | news.ycombinator.com | 18 Apr 2024
    derivative works thereof).”

    https://github.com/meta-llama/llama/blob/b8348da38fde8644ef0...

    Also even if you did use Llama for something, they could unilaterally pull the rug on you when you got 700 million years, AND anyone who thinks Meta broke their copyright loses their license. (Checking if you are still getting screwed is against the rules)

    Therefore, Zuckerberg is accountable for explicitly anticompetitive conduct, I assumed an MMA fighter would appreciate the value of competition, go figure.

  • Hello OLMo: A Open LLM
    3 projects | news.ycombinator.com | 8 Apr 2024
    One thing I wanted to add and call attention to is the importance of licensing in open models. This is often overlooked when we blindly accept the vague branding of models as “open”, but I am noticing that many open weight models are actually using encumbered proprietary licenses rather than standard open source licenses that are OSI approved (https://opensource.org/licenses). As an example, Databricks’s DBRX model has a proprietary license that forces adherence to their highly restrictive Acceptable Use Policy by referencing a live website hosting their AUP (https://github.com/databricks/dbrx/blob/main/LICENSE), which means as they change their AUP, you may be further restricted in the future. Meta’s Llama is similar (https://github.com/meta-llama/llama/blob/main/LICENSE ). I’m not sure who can depend on these models given this flaw.
  • Reaching LLaMA2 Performance with 0.1M Dollars
    2 projects | news.ycombinator.com | 4 Apr 2024
    It looks like Llama 2 7B took 184,320 A100-80GB GPU-hours to train[1]. This one says it used a 96×H100 GPU cluster for 2 weeks, for 32,256 hours. That's 17.5% of the number of hours, but H100s are faster than A100s [2] and FP16/bfloat16 performance is ~3x better.

    If they had tried to replicate Llama 2 identically with their hardware setup, it'd cost a little bit less than twice their MoE model.

    [1] https://github.com/meta-llama/llama/blob/main/MODEL_CARD.md#...

  • DBRX: A New Open LLM
    6 projects | news.ycombinator.com | 27 Mar 2024
    Ironically, the LLaMA license text [1] this is lifted verbatim from is itself copyrighted [2] and doesn't grant you the permission to copy it or make changes like s/meta/dbrx/g lol.

    [1] https://github.com/meta-llama/llama/blob/main/LICENSE#L65

  • How Chain-of-Thought Reasoning Helps Neural Networks Compute
    1 project | news.ycombinator.com | 22 Mar 2024
    This is kind of an epistemological debate at this level, and I make an effort to link to some source code [1] any time it seems contentious.

    LLMs (of the decoder-only, generative-pretrained family everyone means) are next token predictors in a literal implementation sense (there are some caveats around batching and what not, but none that really matter to the philosophy of the thing).

    But, they have some emergent behaviors that are a trickier beast. Probably the best way to think about a typical Instruct-inspired “chat bot” session is of them sampling from a distribution with a KL-style adjacency to the training corpus (sidebar: this is why shops that do and don’t train/tune on MMLU get ranked so differently than e.g. the arena rankings) at a response granularity, the same way a diffuser/U-net/de-noising model samples at the image batch (NCHW/NHWC) level.

    The corpus is stocked with everything from sci-fi novels with computers arguing their own sentience to tutorials on how to do a tricky anti-derivative step-by-step.

    This mental model has adequate explanatory power for anything a public LLM has ever been shown to do, but that only heavily implies it’s what they’re doing.

    There is active research into whether there is more going on that is thus far not conclusive to the satisfaction of an unbiased consensus. I personally think that research will eventually show it’s just sampling, but that’s a prediction not consensus science.

    They might be doing more, there is some research that represents circumstantial evidence they are doing more.

    [1] https://github.com/meta-llama/llama/blob/54c22c0d63a3f3c9e77...

  • Asking Meta to stop using the term "open source" for Llama
    1 project | news.ycombinator.com | 28 Feb 2024
  • Markov Chains Are the Original Language Models
    2 projects | news.ycombinator.com | 1 Feb 2024
    Predicting subsequent text is pretty much exactly what they do. Lots of very cool engineering that’s a real feat, but at its core it’s argmax(P(token|token,corpus)):

    https://github.com/facebookresearch/llama/blob/main/llama/ge...

    The engineering feats are up there with anything, but it’s a next token predictor.

  • Meta AI releases Code Llama 70B
    6 projects | news.ycombinator.com | 29 Jan 2024
    https://github.com/facebookresearch/llama/pull/947/
  • Stuff we figured out about AI in 2023
    5 projects | news.ycombinator.com | 1 Jan 2024
    > Instead, it turns out a few hundred lines of Python is genuinely enough to train a basic version!

    actually its not just a basic version. Llama 1/2's model.py is 500 lines: https://github.com/facebookresearch/llama/blob/main/llama/mo...

    Mistral (is rumored to have) forked llama and is 369 lines: https://github.com/mistralai/mistral-src/blob/main/mistral/m...

    and both of these are SOTA open source models.

  • [D] What is a good way to maintain code readability and code quality while scaling up complexity in libraries like Hugging Face?
    3 projects | /r/MachineLearning | 10 Dec 2023
    In transformers, they tried really hard to have a single function or method to deal with both self and cross attention mechanisms, masking, positional and relative encodings, interpolation etc. While it allows a user to use the same function/method for any model, it has led to severe parameter bloat. Just compare the original implementation of llama by FAIR with the implementation by HF to get an idea.

What are some alternatives?

When comparing llama2.c and llama you can also consider the following projects:

llama2.c - Llama 2 Everywhere (L2E)

langchain - ⚡ Building applications with LLMs through composability ⚡ [Moved to: https://github.com/langchain-ai/langchain]

fastGPT - Fast GPT-2 inference written in Fortran

text-generation-webui - A Gradio web UI for Large Language Models. Supports transformers, GPTQ, AWQ, EXL2, llama.cpp (GGUF), Llama models.

CML_AMP_Churn_Prediction_mlflow - Build an scikit-learn model to predict churn using customer telco data.

chatgpt-vscode - A VSCode extension that allows you to use ChatGPT

feldera - Feldera Continuous Analytics Platform

DeepSpeed - DeepSpeed is a deep learning optimization library that makes distributed training and inference easy, efficient, and effective.

awesome-data-temporality - A curated list to help you manage temporal data across many modalities 🚀.

ollama - Get up and running with Llama 3, Mistral, Gemma, and other large language models.

dify - Dify is an open-source LLM app development platform. Dify's intuitive interface combines AI workflow, RAG pipeline, agent capabilities, model management, observability features and more, letting you quickly go from prototype to production.

transformers - 🤗 Transformers: State-of-the-art Machine Learning for Pytorch, TensorFlow, and JAX.