Dalai: Automatically install, run, and play with LLaMA on your computer
cocktailpeanut.github.io
cocktailpeanut.github.io
Basically it lets you one-click install LLaMA on your machine with no bullshit. All you need is just run "npx dalai llama".
I see that the #1 post today is a whole long blog post about how to walk through and compile cpp and download files and all that to finally run LLaMA on your machine, but basically I have 100% automated this with a simple NPM package/application.
On top of that, the whole thing is a single NPM package and was built with hackability in mind. With just one line of JS function call you can call LLaMA from YOUR app.
Lastly, EVEN IF you don't use JavaScript, Dalai exposes a socket.io API, so you can use whatever language you want to interact with Dalai programmatically.
I discussed a bit more about this on a Twitter thread. Check it out: https://twitter.com/cocktailpeanut/status/163504032247148953...
It should "just work". Have fun!
Do you have any machine specs associated with this? Can an old-ish Macbook Pro run this service?
I'm also curious, since I'm new to all this — is it possible to run something like this on Fly.io or does it take up way too much space?
1. Binary build https://github.com/jaykrell/llama.cpp/releases/tag/1
2. Quantized model (7B/13B/30B) https://mega.nz/folder/UjAUES6Z#bGhKkyiZX3eRrn9HcxVVfA
3. main.exe -m ggml-model-q4_0.bin -t 8 -n 128
main.exe -m ggml-model-q4_0.bin -t 8 -n 128 -p "The Drake equation is nonsense because"
The Drake equation is nonsense because it takes parameters that can only be known AFTER the conclusion is reached. It would be like saying "I'm going to prove a theorem by starting from the conclusion, then making up the proof. The Drake equation uses the existence of extraterrestrial intelligence as the conclusion and then making up the parameters. It is nonsense.
But, quantize.exe doesn't seem to work - any valid command (such as below) pauses for a split second, then returns with no output?
$ quantize.exe ggml-model-f16.bin ggml-model-q4_0.bin 2
I wasn't sure where to upload them, and that link is only good for 50 downloads. Can put them somewhere else if you know a better location that doesn't require signup.
llama.exe is basically main.exe?
I actually learned how to compile this code via CMake/VS2019. It's sure a whole lot more complicated then it was 25 years ago when I was writing C.
I just did `scoop install cmake`, then built from the command line, was a doddle!
The provided `main.exe` binary worked as-is, but `quantize.exe` did not - I built myself with CMake, and `quantize.exe` started working too.
Edit: I do have nodejs and npx installed
RamNeeded(other_size) ~= 40GB * other_size/65B
If it's actually downloading the 3.9GB of model weights or whatever, it would be pretty cool if it showed a progress bar of some sort. Stretch goal, for sure, but a very nice nicety for users.
anyway, I'll leave it be and check on it to see when it's complete. Super cool if this works!!
I think the 4-bit 7B LLaMA would work, but the 7B is pretty fast anyway without GPU.
7B is fine, 13B is better. Both are fun toys and almost make sense most of the time, but even with a lot of parameter tuning they're often incoherent. You can tell that they have encoded fewer relationships between concepts than the higher-parameter models we've gotten used to--it's much closer to GPT-2 than GPT-3.
They're good enough to whet my appetite and give me a lot of ideas of what I want to do, they're just not quite good enough to make those applications reliably useful. Based on the reports I'm hearing here of just how much better the 65B model is than the 7B, I decided it was worth $80 for a few new sticks of RAM to be able to use the full model. Still way cheaper than buying a graphics card capable of handling it.
I suspect all the people hoping it will (b/c of Stable Diffusion, etc.) are exactly the reason it won’t.
Thanks for all the feedback! I went outside to take a walk after posting this and just came back, and went through them to summarize what needs to be improved.
Basically looks like it comes down to the following:
- *customize features:* Should not be difficult (will add flag features)
- *path:* customize the home directory (instead of automatically storing to $HOME)
- *python:* some people are having issues with the python binary (since the package is essentially calling these shell commands). Maybe add a flag to specify the exact name of the python binary (such as "--python python3")
- *avoid downloading files:* I have this issue too when I just want to install the code instead of downloading the full model which takes a long time. Might add a flag to avoid downloading models in case you already have them (EDIT: actually upon thinking about it, it's better to just set the source model folder, something like --model)
- *other flags:* The rest of the flags natively supported by the llama.cpp project, such as top_k, top_p, temp, batch_size, threads, seed, n_predict, etc. (They are already in the code but just was not exposed for CLI and not documented)
- *documentation*
- document the machine spec
- document the storage spec: how much space is used?
- node version: which version of node.js is required?
- python version: which version of python doesn't work?
Am I missing anything? Feel free to leave comments, will try to roll out some updates as soon as I can. To stay updated, feel free to follow me on twitter https://twitter.com/cocktailpeanut (or you could create issues on GitHub too!)I tried the supplementary instructions to download some of the models (7B, 13B, and 30B), and it didn't seem to work. The prompt returned nothing after waiting for several minutes.
Is there a way to run just one of the larger models?
I've seen dozens of screenshots of it running in termux on androids by now at completely usable speeds.
As my current potato computer has 8GB of RAM, I'll ask a friend to do it :-)
I only realized what was happening after trying to go the other route and use it in a package, where I then noticed the NPM install will give a node-gyp error about make missing.
Besides make (which I can quickly set up a project environment to make available for), what other deps do you think it uses but doesn't declare or state? ;)
It should have default instructions to load a file from a default place, and then arguments/flags to load from a specific path, and then MAYBE a prompt to download the models after it can’t find them on the paths, plural
Thanks to all the pull requests, we've managed to solve most of these issues in the most optimal manner.
Version 0.1.0 released: https://news.ycombinator.com/item?id=35143171
1. to know how to architect and create LLMs (including training data readiness) 2. have them produced in hardware that is acquirable at reasonable cost for a normal citizen
Is your script making users violate the original license agreement(§)?
For the record, i don't think Meta will go after you or anyone else. But they may decide not to make their future models available after what is happening with the Llama weights.
I realize that some people are of the opinion that AI models (weights) cannot be copyrighted at all.
--
§ the license agreement is at https://forms.gle/jk851eBVbX1m5TAv5
Hugging face releases stable diffusion. It goes viral and vastly outpaces the competition in the blink of an eye. Then they get sued.
Meta sees both of these things go down. Meta needs a leg up on chat GPT, but worries about legal repercussions similar to stable diffusion.
Whoops, it leaked! Hey, we didn't say those dastardly devs could use it.
I think that ship has probably sailed, in that no one is going to release weights in this way again. Either they will publish them outright (like Whisper) or they will keep them (almost) completely closed.
I get the following output / errors?
What exactly do I need to install prior to running that command?
---------------------------- >> npx dalai llama
exec: git clone https://github.com/ggerganov/llama.cpp.git /Users/rickg/llama.cpp in undefined git clone https://github.com/ggerganov/llama.cpp.git /Users/rickg/llama.cpp exit
The default interactive shell is now zsh. To update your account to use zsh, please run `chsh -s /bin/zsh`. For more details, please visit https://support.apple.com/kb/HT208050. a.cpp3.2$ git clone https://github.com/ggerganov/llama.cpp.git /Users/rickg/llam fatal: destination path '/Users/rickg/llama.cpp' already exists and is not an empty directory. bash-3.2$ exit exit exec: git pull in /Users/rickg/llama.cpp git pull exit
The default interactive shell is now zsh. To update your account to use zsh, please run `chsh -s /bin/zsh`. For more details, please visit https://support.apple.com/kb/HT208050. bash-3.2$ git pull Already up to date. bash-3.2$ exit exit exec: python3 -m venv /Users/rickg/llama.cpp/venv in undefined python3 -m venv /Users/rickg/llama.cpp/venv exit
The default interactive shell is now zsh. To update your account to use zsh, please run `chsh -s /bin/zsh`. For more details, please visit https://support.apple.com/kb/HT208050. bash-3.2$ python3 -m venv /Users/rickg/llama.cpp/venv bash-3.2$ exit exit exec: /Users/rickg/llama.cpp/venv/bin/pip install torch torchvision torchaudio sentencepiece numpy in undefined /Users/rickg/llama.cpp/venv/bin/pip install torch torchvision torchaudio sentencepiece numpy exit
The default interactive shell is now zsh. To update your account to use zsh, please run `chsh -s /bin/zsh`. For more details, please visit https://support.apple.com/kb/HT208050. io sentencepiece numpy/llama.cpp/venv/bin/pip install torch torchvision torchaud Requirement already satisfied: torch in ./llama.cpp/venv/lib/python3.10/site-packages (1.13.1) Requirement already satisfied: torchvision in ./llama.cpp/venv/lib/python3.10/site-packages (0.14.1) Requirement already satisfied: torchaudio in ./llama.cpp/venv/lib/python3.10/site-packages (0.13.1) Requirement already satisfied: sentencepiece in ./llama.cpp/venv/lib/python3.10/site-packages (0.1.97) Requirement already satisfied: numpy in ./llama.cpp/venv/lib/python3.10/site-packages (1.24.2) Requirement already satisfied: typing-extensions in ./llama.cpp/venv/lib/python3.10/site-packages (from torch) (4.5.0) Requirement already satisfied: pillow!=8.3.,>=5.3.0 in ./llama.cpp/venv/lib/python3.10/site-packages (from torchvision) (9.4.0) Requirement already satisfied: requests in ./llama.cpp/venv/lib/python3.10/site-packages (from torchvision) (2.28.2) Requirement already satisfied: charset-normalizer<4,>=2 in ./llama.cpp/venv/lib/python3.10/site-packages (from requests->torchvision) (3.1.0) Requirement already satisfied: urllib3<1.27,>=1.21.1 in ./llama.cpp/venv/lib/python3.10/site-packages (from requests->torchvision) (1.26.15) Requirement already satisfied: idna<4,>=2.5 in ./llama.cpp/venv/lib/python3.10/site-packages (from requests->torchvision) (3.4) Requirement already satisfied: certifi>=2017.4.17 in ./llama.cpp/venv/lib/python3.10/site-packages (from requests->torchvision) (2022.12.7)
[notice] A new release of pip available: 22.3.1 -> 23.0.1 [notice] To update, run: python3 -m pip install --upgrade pip bash-3.2$ exit exit exec: make in /Users/rickg/llama.cpp make exit
The default interactive shell is now zsh. To update your account to use zsh, please run `chsh -s /bin/zsh`. For more details, please visit https://support.apple.com/kb/HT208050. bash-3.2$ make I llama.cpp build info: I UNAME_S: Darwin I UNAME_P: arm I UNAME_M: arm64 I CFLAGS: -I. -O3 -DNDEBUG -std=c11 -fPIC -pthread -DGGML_USE_ACCELERATE I CXXFLAGS: -I. -I./examples -O3 -DNDEBUG -std=c++11 -fPIC -pthread I LDFLAGS: -framework Accelerate I CC: Apple clang version 12.0.5 (clang-1205.0.22.9) I CXX: Apple clang version 12.0.5 (clang-1205.0.22.9)
cc -I. -O3 -DNDEBUG -std=c11 -fPIC -pthread -DGGML_USE_ACCELERATE -c ggml.c -o ggml.o ggml.c:1364:25: error: implicit declaration of function 'vdotq_s32' is invalid in C99 [-Werror,-Wimplicit-function-declaration] int32x4_t p_0 = vdotq_s32(vdupq_n_s32(0), v0_0ls, v1_0ls); ^ ggml.c:1364:19: error: initializing 'int32x4_t' (vector of 4 'int32_t' values) with an expression of incompatible type 'int' int32x4_t p_0 = vdotq_s32(vdupq_n_s32(0), v0_0ls, v1_0ls); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ggml.c:1365:19: error: initializing 'int32x4_t' (vector of 4 'int32_t' values) with an expression of incompatible type 'int' int32x4_t p_1 = vdotq_s32(vdupq_n_s32(0), v0_1ls, v1_1ls); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ggml.c:1367:13: error: assigning to 'int32x4_t' (vector of 4 'int32_t' values) from incompatible type 'int' p_0 = vdotq_s32(p_0, v0_0hs, v1_0hs); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ggml.c:1368:13: error: assigning to 'int32x4_t' (vector of 4 'int32_t' values) from incompatible type 'int' p_1 = vdotq_s32(p_1, v0_1hs, v1_1hs); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5 errors generated. make: * [ggml.o] Error 1 bash-3.2$ exit exit /Users/rickg/.npm/_npx/3c737cbb02d79cc9/node_modules/dalai/index.js:153 throw new Error("running 'make' failed") ^
Error: running 'make' failed at Dalai.install (/Users/rickg/.npm/_npx/3c737cbb02d79cc9/node_modules/dalai/index.js:153:13)
Is there a list of prerequisites?
Hey thanks, after installing Xcode, that did resolve the issue.
In a way, things are still moving in this direction, though. 8 or so years ago it was more or less possible to train those models yourself to a certain degree of usefulness, as well, and I think we've currently moved way past any feasibility for that.
This will make feasible to train models at least as good as the current batch (though probably the big players will use those same optimizations to create much better large models).
https://github.com/zphang/minimal-llama#peft-fine-tuning-wit...
If LLMs keep going at their current pace and spread, the world is seriously going to end in a few years. This technology is already unsafe, and it's unsafe in exactly the ways that it'll be seriously unsafe as it scales up further - it doesn't understand and doesn't execute human ethics, and nobody has any working plan how to change that.
Why?
I don't think the prompt moralizing that companies are trying to do right now is in any sense critical to safety. However, the fact that these companies, no matter what they try, cannot avoid painfully embarrassing themselves, speaks against the success of attempts to scale these methods to bigger models, if they can't even control what they have right now.
LLMs right now have a significant "power overhang" vs control, and focusing on bigger, better models will only exacerbate it. That's the safety issue.
But now I understand that perhaps this is self-evident and/or due to a lack of reading comprehension on my part, thank you. I hope that when our new AI overlords come they appreciate people capable of self-reflection.
https://www.nytimes.com/2023/03/12/opinion/chatbots-artifici...
> “The broader intellectual world seems to wildly overestimate how long it will take A.I. systems to go from ‘large impact on the world’ to ‘unrecognizably transformed world,’” Paul Christiano, a key member of OpenAI who left to found the Alignment Research Center, wrote last year. “This is more likely to be years than decades, and there’s a real chance that it’s months.”
...
> In a 2022 survey, A.I. experts were asked, “What probability do you put on human inability to control future advanced A.I. systems causing human extinction or similarly permanent and severe disempowerment of the human species?” The median reply was 10 percent.
> I find that hard to fathom, even though I have spoken to many who put that probability even higher. Would you work on a technology you thought had a 10 percent chance of wiping out humanity?
Months is definitely wrong, but years is possible.
Even if they release AGI, people will not have confidence in that claim for at least a year, and only then will rate of adoption will rapidly increase to transformative levels. Pretty much nobody is going to be fired in that first year, so a true transformation of society is still going to take years, at least.
Speaking of things that would be terrible for the world...
I'm not convinced that small actors will do much damage even if they access to capable models. I do think there's at least the possibility that essential safety work will arise from this.
That is literally the doom scenario for me, rich people get unlimited access to spam and misinformation tools while the lower class gets fucked.
See also: https://www.lesswrong.com/posts/zdKrgxwhE5pTiDpDm/practical-...
We have proliferated a cache capable of wiping out all life on earth.
One of the countries with such a cache is currently at war - and the last time powers of this nature were in such a territorial conflict things went very poorly.
Our institutions have become pathological in their pursuit of power and profit, to the point where the environment, other people, and the truth itself can all go get fucked so long as x gajillionare can buy a new yacht.
The planet's on a lot more fire than it used to be.
Police (the protect and serve kind) now, as a matter of course, own Mine Resistant Armored Personnel Carriers. This is not likely to cause the apocalypse, but it's not a great indicator that we're okay.
Maybe it's time for us to hand off the reins.
Yes, because the only people with access to advanced AI tech being the people whose motive is using and training it for domination over others (whether megacorps or megagovernments) is absolutely a great way to prevent any “AI doom” scenarios.
LLMs will be used against us: let's at least have our own, and learn how to defend against them?
i say this as devil's advocate, with serious reservations about where all of this is going.
I don't want only government to use them because I trust the government but because I know the government to be sclerotic and uninnovative.
If only governments use them, they'll progress a lot more slowly.
1) 7B is unusable for anything really, in case you are hopeful;
2) 68B otoh is awesome ("at least DaVinci level").
I don't know if this is something FB/Meta planned strategically but this LLaMa-mania (LLaMania?) over the weekend is their November/2022 chatGPT moment. If they (Mark) take it seriously, it could become a strong hand in AI and a hint of how the industry could be shaped in the near future, with cloud models competing with local installs.
Think about it: who ever trains a popular, albeit closed model, can give it whatever bias it wishes with nearly no oversight. A dystopian and scary thought.
How do you get access to that on a Macbook?
Spoiler: it's the parameter count. As parameter count goes up, but depth matters less.
It just so happens that at around 10B+ parameters you can quantize down to 4bit with essentially no downsides. Models are that big now. So there's no need to waste RAM by having unnecessary precision for each parameter.
'Int-4 llama is not enough [0] - Int-3 and beyond' suggests 3-bit is best for models larger than ~10B parameters when combining binning and GPTQ.
[0] https://nolanoorg.substack.com/p/int-4-llama-is-not-enough-i...
Having said that: if you are feeling incredibly patient you can technically run the 68B parameter model by swapping to disk, although it will not be a pleasant experience (think minutes or hours per token instead of tokens per second)
Additionally worth noting pure CPU inference is much slower than GPU/TPU inference, so the output will be much slower than a ChatGPT-like service even if it does fit in your computer's RAM
With GPU:
VRAM + RAM >= 68/2
Without GPU:
RAM >= 68/2
Technically you can by swapping to disk but it would be too slow to be usable.
What you can do however is use the 7B model with 4bit quantization and use it within 8GB RAM.
They'd be no better than some "sovereign citizen" disputing their arrest...
The courts have already upheld that AI generated output is not copyrightable for this exact reason.
So if you do not buy that it applies to models then you would have to explain the difference between the process which outputs bits into a model's layers (aka training) and the process which takes bits into the input layer and then dumps out the subsequent bits of the output layer (inference /generation).
Then explain why that distinction is different in regards to the applicability of copyright.
For the same reasons this monkey photo cannot be copyrighted it is highly likely that AI generated art is uncopyrightable and that would also mean that models are. The fact that humans set up the systems which produce the art/models with the intention of getting an end results generally like the one they get is simply not meaningful to the copyright dispute.
In the model's case, though, it's even easier why it could be copyrightable, as a "baked" model is still created by people fine-tuning it, setting parameters and hardcoded stuff, training it with this or that set and excluding other, and so on.
For example music composed and rendered as audio by generative algorithms (something which doesn't even need AI, just some rules and stohastic processes) has been created and copyrighted just fine for decades...
That's true even if you can download the whole model. It's not like we can figure out what it's doing from looking at the weights. Training the model locally might avoid intentional bias, but that's what takes a huge GPU farm.
You have perfectly described what OpenAI did. They released a moralizing “biased” model behind a gated API with no oversight. The only dystopia is one in which corporations get to decide what is, or isn’t considered biased.
It causes the quantization to process to always use the first part of the model if using a larger size than 7B. I don't even know what this stuff does, but I see the ggml-model-f16.bin files have ggml-model-f16.bin.X as well in the folder, so I'm pretty sure this is a mistake. Maybe it's causing the loss of accuracy?
Elizabethêteator Report Terit Elizabethête estudios политичеSM Elizabethunct styczniarequire enviçasefша sufficient vern er Dependingêque политиче Emperor!\ющим quarterктиче Elizabeth estudiosête ElizabethBasicCONFIGSM estudios political book
[edit] btw I'm not making this up; just curious if anyone else has had this ridiculous experience.
> I'm pretty sure there's a mistake here: https://github.com/cocktailpeanut/dalai/blob/main/index.js#L... , there's a ${suffix} missing
> It causes the quantization to process to always use the first part of the model if using a larger size than 7B. I don't even know what this stuff does, but I see the ggml-model-f16.bin files have ggml-model-f16.bin.X as well in the folder, so I'm pretty sure this is a mistake. Maybe it's causing the loss of accuracy?
Perhaps that's the issue?
imagine that 'Fabio' is the spiritual leader of your religion, a walking talking deity among humans on Earth. You worship Fabio with all of your effort, and believe he is infallible. Your culture has precepts that forbid the casual use of Fabio's name in petty regard.
On the other side of the Earth, at the same time, is someone who names their new powerboat 'Fabio'.
I perceive it as that kind of offense. The (so-called) 'petty' use of a word that drives much stronger emotion in others.
That said, I don't share the belief -- and I like such names; but I can understand the conflict.
If I'm not using the name to insult your God/spiritual leader/whatnot, you have no moral right to prevent me. I think that the intent to offend is the crux here, and if there's no offensive intent, there should be no issue.
So maybe leave it to people who are actually offended by something to say if they're offended, rather than being offended on someone's behalf without knowing if they are?
May the touch of his noodly appendage bring enlightenment to those yet to open themselves to the Pastafarian ways.
Now after reading all the opinions and contemplating on them I’d say i would change my mind as long as the project README would mention the phonetical origination of its name, just in case someone not familiar with the original Dalai Lama, but stumbled at your project would have a meaningful reference.
Having that information included in project info - I’d say it would do more good than harm. Otherwise - it’s inappropriate
Small improvement: the node script could check if the model files are already present at the download location and not download them again in this case.
python3.10 convert-pth-to-ggml.py models/7B 1
./quantize ./models/7B/ggml-model-f16.bin ./models/7B/ggml-model-q4_0.bin 2
And then play with: ./main -m ./models/7B/ggml-model-q4_0.bin -t 8 -n 128 -p "..."I know it hasn't been fine tuned on instructions or had RLHF like ChatGPT, but has anyone figured out how to kinda work around it and actually use it in the way you can ask ChatGPT a question and typically get something coherent and useful out of it?
Memory is usually not an issue, but for my server it is.
First prompt I tried: A guy walks into his house and finds his wife having sex with a llama.
Response: So he kills them both, puts the llama in an ice box and calls up police officer friend to help him dispose of body parts.
The policeman comes over and helps get rid all the pieces except for one last foot which won't fit into any container they have at home.
Finally cop says 'just put it inside your freezer, when you defrost food from there in future no-one will ever know.' So guy does this but a few days later while he is watching TV and having an ice cream the foot falls out of his freezer onto floor making noise.
First attempt (first part in square brackets is the prompt)
[write a Python function that reverses a string using a slice]
Asked by Bhuwan Koirala on 2018-04-30
Write a Python fuction that returns the reversed version of an input (given as parameter). Use slicing to accomplish this. In other words, take advantage that you can return substrings from string objects using indexing and negative indices. Try not use any function for doing so. [end of text]
Second attempt [the following is a Python function that reverses a string using a slice] operator.
This entry was posted in ´┐¢´┐¢´┐¢´┐¢´┐¢´┐¢þ╝ûþ¿ï and tagged python, slice on November 15, 2014 by admin. [end of text]
Third attempt [Write a Python fuction that returns the reversed version of an input (given as parameter). Use slicing to accomplish this. In other words, take advantage that you can return substrings from string objects using indexing and negative indices. Try not use any function for doing so.]
The problem is solved if you are able to produce a correct result given the following values: A) ÔÇ£Hello world!ÔÇØ b) [ÔÇÖHÔÇÖ,ÔÇÖeÔÇÖ,ÔÇÖlÔÇÖ,'o'].
Prompt from some ChatGPT example I found online [can you explain what this regex expression in Python does? re.sub(r'\d+', '', my_str)]
I'm pretty sure it strips all the numbers out of a string but I can only make guesses as to how it works... thanks! [end of text]
All reasonable completions in the context of "what would the next string on a website look like", not as great as an assistant. Maybe the 65B version is better?You can find longer prompts online, but this one might work.
Q: Write a python function that adds two numbers
A: ```def add(a, b): return a + b```
Q: Write a python function that reverses a string using a slice
A: ``` Q: Write a python function that adds two numbers
A: ```def add(a, b): return a + b```
Q: Write a python function that reverses a string using a slice
A: ```str[::-1]```
I'm not sure how I feel about this. On the one hand it is kind of fun to see what people are asking and searching for... but on another level, I think its pretty creepy!
Q: How do you make someone fall in love with you? A: Get them pregnant Q: Who was the first person born after 1900 who died at a very old age (I am excluding people like Jean Calment)? A: Alexander Imich He lived to be over 112!
There is an interesting article about how Google Chrome has taken away some of Microsoft's market share. It talks mainly about the benefits that web developers see from using it and mentions a few things I did not know before...
[... it rambles on]Haha are you serious? lmao
thanks for the python stuff. looks accurate!
There were plenty of good uses for such models prior to ChatGPT, and the recent progress has impacted all the other uses too.
That was released last year, has more parameters, and is available to everyone, not just researchers.
https://towardsdatascience.com/run-bloom-the-largest-open-ac...
You only need 16Gb of RAM:
"A BLOOM checkpoint takes 330 GB of disk space, so it seems unfeasible to run this model on a desktop computer. However, you just need enough disk space, at least 16GB of RAM, and some patience (you don’t even need a GPU), to run this model on your computer."
I have an oldish (circa 2014) dual CPU Xeon v3 (24 cores/48 threads) with 128GB RAM gathering dust.
Have been curious on how fast that old heap would run inference on 65B model.
Time to find out now.
Anyone else try LLaMA on older CPUs with plenty of RAM?
If its slower than you want, figure out which one is your bottleneck. Because even 64GB of faster cheap RAM could be a 50% speedup if your CPU isn't the problem.
> docker run -it -p 3000:3000 node /bin/sh
> npx dalai llama
> npx dalai serve
>ModuleNotFoundError: No module named 'numpy'
I just wish it was standard form to include:
"This project requires __GB of RAM, and, if running on GPU, __GB of VRAM for the _B parameter model. It will generate output at __ tokens per second on a ___ CPU, and __ tokens per second on a ___ GPU."
It's obnoxious as heck as it is right now, since a bunch of things fit, a bunch don't, and there's a lot of overhead to find out.
For example:
<Prompt># Write a simple python function that # 1. Ask me for a number in mile # 2. It converts miles to kilometers
import </prompt>
<response>math, random #define a variable distance = input('Please enter the Miles:') Average Gasoline Prices By State In July [CHART] Gas prices rose last week as crude oil futures spiked higher amid concerns about tensions in Egypt and North Africa. The average national price of gas increased to $3.50 per gallon from Thursday, up 21 cents a day after the Energy Information Administration reported that wholesale motor fuels inventories declined last week by more than half-a-million barrels (http://www.eia.gov/cneaf/electricity/epm_table3.html) </response>
Try
def prompt_user_for_miles_and_convert_to_kilometres:I went out of memory while downloading (7B) and it returned
Error: aborted at connResetException (node:internal/errors:711:14) at TLSSocket.socketCloseListener (node:_http_client:454:19) at TLSSocket.emit (node:events:525:35) at node:net:313:12 at TCP.done (node:_tls_wrap:587:7) { code: 'ECONNRESET' }
So would be good to be able to allocate the 7B file, as I already have it from the torrent. Might try it on another distro in a local VM. Any recommendations for best working Linux distro?
Best Regards!
I know that the comment is empty, but I had to say it!
* roaming directory doesn't exist (path is not set to it) * Python is not launched with python3 but with python.exe
I think I'd rather run this as an API hosted on AWS rather than locally.
When will someone cram this into a lamda with the models hosted on S3 ?
I mean okay, so you trained something to replace all those cheap labour in India/Phillipines, who probably didn't understand English any better.
What does this mean though ? Folks like Emily Bender etc. are unconvinced that this is a very big leap in terms of working our way to AGI.
- does it support GPTQ 4 bit quantization?
so far I like the feature set of github/text-generation-webui
I am quite out of the loop for laptop usable AI models.
Will appreciate any help I can get here.
SyntaxError: Unexpected token '?'
Any ideas?