PMC_LLAMA-7B-GGML / README.md
TheBloke's picture
Update README.md
90f4a4f
|
raw
history blame
6.17 kB
metadata
inference: false
license: other
tags:
  - medical
datasets:
  - allenai/s2orc
TheBlokeAI

Chaoyi Wi's PMC_LLAMA 7B GGML

These files are GGML format model files for Chaoyi Wi's PMC_LLAMA 7B.

GGML files are for CPU + GPU inference using llama.cpp and libraries and UIs which support this format, such as:

Repositories available

THE FILES IN MAIN BRANCH REQUIRES LATEST LLAMA.CPP (May 19th 2023 - commit 2d5db48)!

llama.cpp recently made another breaking change to its quantisation methods - https://github.com/ggerganov/llama.cpp/pull/1508

I have quantised the GGML files in this repo with the latest version. Therefore you will require llama.cpp compiled on May 19th or later (commit 2d5db48 or later) to use them.

Provided files

Name Quant method Bits Size Max RAM required Use case
PMC_LLAMA-7B.ggmlv3.q4_0.bin q4_0 4 3.79 GB 6.29 GB 4-bit.
PMC_LLAMA-7B.ggmlv3.q4_1.bin q4_1 4 4.21 GB 6.71 GB 4-bit. Higher accuracy than q4_0 but not as high as q5_0. However has quicker inference than q5 models.
PMC_LLAMA-7B.ggmlv3.q5_0.bin q5_0 5 4.63 GB 7.13 GB 5-bit. Higher accuracy, higher resource usage and slower inference.
PMC_LLAMA-7B.ggmlv3.q5_1.bin q5_1 5 5.06 GB 7.56 GB 5-bit. Even higher accuracy, resource usage and slower inference.
PMC_LLAMA-7B.ggmlv3.q8_0.bin q8_0 8 7.16 GB 9.66 GB 8-bit. Almost indistinguishable from float16. Huge resource use and slow. Not recommended for normal use.

Note: the above RAM figures assume no GPU offloading. If layers are offloaded to the GPU, this will reduce RAM usage and use VRAM instead.

How to run in llama.cpp

I use the following command line; adjust for your tastes and needs:

./main -t 10 -ngl 32 -m PMC_LLAMA-7B.ggmlv3.q5_0.bin --color -c 2048 --temp 0.7 --repeat_penalty 1.1 -n -1 -p "### Instruction: Write a story about llamas\n### Response:"

Change -t 10 to the number of physical CPU cores you have. For example if your system has 8 cores/16 threads, use -t 8.

Change -ngl 32 to the number of layers to offload to GPU. Remove it if you don't have GPU acceleration.

If you want to have a chat-style conversation, replace the -p <PROMPT> argument with -i -ins

How to run in text-generation-webui

Further instructions here: text-generation-webui/docs/llama.cpp-models.md.

Discord

For further support, and discussions on these models and AI in general, join us at:

TheBloke AI's Discord server

Thanks, and how to contribute.

Thanks to the chirper.ai team!

I've had a lot of people ask if they can contribute. I enjoy providing models and helping people, and would love to be able to spend even more time doing it, as well as expanding into new projects like fine tuning/training.

If you're able and willing to contribute it will be most gratefully received and will help me to keep providing more models, and to start work on new AI projects.

Donaters will get priority support on any and all AI/LLM/model questions and requests, access to a private Discord room, plus other benefits.

Patreon special mentions: Aemon Algiz, Dmitriy Samsonov, Nathan LeClaire, Trenton Dambrowitz, Mano Prime, David Flickinger, vamX, Nikolai Manek, senxiiz, Khalefa Al-Ahmad, Illia Dulskyi, Jonathan Leane, Talal Aujan, V. Lukas, Joseph William Delisle, Pyrater, Oscar Rangel, Lone Striker, Luke Pendergrass, Eugene Pentland, Sebastain Graf, Johann-Peter Hartman.

Thank you to all my generous patrons and donaters!

Original model card: Chaoyi Wi's PMC_LLAMA 7B

This repo contains PMC_LLaMA_7B, which is LLaMA-7b finetuned on the PMC papers in S2ORC dataset.

The model was trained with the following hyperparameters:

  • Epochs: 5
  • Batch size: 128
  • Cutoff length: 512
  • Learning rate: 2e-5

Each epoch we sample 512 tokens per paper for training.

The model can be loaded as following:

import transformers
import torch
tokenizer = transformers.LlamaTokenizer.from_pretrained('chaoyi-wu/PMC_LLAMA_7B')
model = transformers.LlamaForCausalLM.from_pretrained('chaoyi-wu/PMC_LLAMA_7B')
sentence = 'Hello, doctor'
batch = tokenizer(
            sentence,
            return_tensors="pt",
            add_special_tokens=False
        )
with torch.no_grad():
    generated = model.generate(inputs = batch["input_ids"], max_length=200, do_sample=True, top_k=50)
    print('model predict: ',tokenizer.decode(generated[0]))