Mistral 7B
mistral.ai
mistral.ai
Meta wouldn't make LLama open source.
DeciLM wouldn't make theirs open source.
All of them wanted to claim they were open source, while putting in place restrictions and not using an open source license. So I think it's worth giving Mistral big kudos here for actually doing it and going Apache licensed.
There must be others as well?
Estimating, there is more than 100 models with a apache-2.0 license.
They have a 40B one and IIRC are part of the Linux foundation now too
Falcon 40B is under the Apache license, and as a 40B model it outperforms this 7B model on most tasks.
To stack these items on top of each other in a stable manner, follow these steps:
1. Start with the 9 eggs. Arrange them in a neat pile in the center of your workspace. 2. Next, place the laptop on top of the eggs. Make sure it's centered on top and not leaning to one side. 3. Then, carefully pour the bottle of water over the laptop, making sure the water reaches all sides of the laptop and covers it completely. 4. Finally, take the nail and use it to secure the stack together. You can do this by driving the nail through each item in the stack, connecting them all. 5. Double-check that everything is securely fastened before moving or transporting the stack.
Remember to be careful when handling delicate items like eggs and laptops, and always prioritize safety.
Question: is there something like this, but with the "function calling api" finetuning? 95% of my uses nowadays deal with input/output of structured data (JSON, basically), and I kind of fear that OpenAI will no longer support thos specialized models after a few months... I know its probably not that glorious compared with multimodal chat UIs, but a workhose like nothing else for automation!
https://github.com/ggerganov/llama.cpp/blob/master/grammars/...
Its actually better than a specialized model, during token generation it constrains the possible output tokens to an arbitrary grammar (like, say, JSON syntax). So it will work "perfectly" with any model with a basic understanding of the format.
Kobold.cpp and text-generation-ui already support this, and both will run on your mac.
Though its possible it would output syntactically correct nonsense.
Generation never actually stops, the model just emits a special stop token when stopping is most likely next token. Hence the grammar implementation can prevent this stop token from being emitted prematurely.
There was some discussion of models getting "stuck" where there is no syntactically correct token to emit. Some proposals included a "backspace token" IIRC, but I dunno what they actually did. You can look through the discussion in the PR.
Would be interesting to see how far it would get writing programs, and wrt. the problem of stopping too early on a token, it could resume with some extra context from where it stopped.
Maybe construct program such that it is made by building blocks which can fit into context, such that each block/function has a pre/post condition and invariants are inside it, which the LLM will try to test against each time it runs. I think I just found my next side-project, I know there are many similar tools, but I haven't seen anything trying to couple the compiler, running the program, creating pre/post and invariant checking against emitted code yet.
Would be interesting to test this hypothesis to see if the llm can actually build a program this way. I think about it like humans have a short-term memory as well, and for each sub-structure of a program, the llm would have to work in a similar way. Then reserve a bit of context to control the long-term memory for general goals, or create something like an AST of thoughts which it would recurse through, while reasoning about it.
This is a wrapper around many training methods, and it has yielded many excellent community finetunes already.
total duration: 33.964492834s
load duration: 1.471584ms
prompt eval count: 8 token(s)
prompt eval duration: 385.334ms
prompt eval rate: 20.76 tokens/s
eval count: 418 token(s)
eval duration: 31.887033s
eval rate: 13.11 tokens/s
https://github.com/mistralai/mistral-src/issues/2
edit: nevermind https://ollama.ai
If I wanted to experiment with working with models and finetuning offline should I just save for a 32g vram+ video card?
NotADirectoryError: [Errno 20] Not a directory: 'hipconfig'
Our approach also extends to EBNF grammars and LALR parsing. There's an example of that in the repository. It builds off of the Lark library, so you can use existing grammar specifications instead of starting from scratch.
At this point, it should be standard practice to address this concern. Any model which fails provide good evidence they don't have benchmark leaks, should not be trusted until its datasets can be verified, the methodology can be replicated, or a good, independent, private benchmark can be made and can be used to evaluate the model.
Manually benchmarking it by coming up with 20 questions and feeding it to a pair of models and blindly choosing the best result can give you a pretty good figure.
And that can probably be done in under 20 mins of human time.
I would be curious what does he mean by "semi-automated system for detecting benchmark leaks. " though.
magnet:?xt=urn:btih:208b101a0f51514ecf285885a8b0f6fb1a1e4d7d&dn=mistral-7B-v0.1&tr=udp%3A%2F%http://2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=https%3A%2F%http://2Ftracker1.520.jp%3A443%2Fannounce
I remember not trusting these guys since they raised a lot of money with not much of anything but if this performs well it def bumps their credibility.---------------------
>>> Write code that will track swipes in Typescript
. Swipe should be detected when the user moves a finger over 30% of the screen, and then drags it all the way to the end of the screen.
## Getting started You need to have yarn or npm installed before you can run this app
### Running in browser ```bash yarn install yarn serve ```
### Running with docker Use the docker-compose file located at ./docker/docker-compose.yml ```bash cd <path-to-project> docker-compose up ```
## Screenshot 
Since Mistral is just a 7B parameter model, it's obvious that you won't be able to have it straight up write accurate code, it's simply too small for being able to accomplish something like that, unless you train the model specifically for writing code up front.
I guess if all you're looking for is a model to write code for you, that makes sense as a "hello world" test, but then you're looking at the wrong model here.
What you really want to do if you're looking for a good generalized model, is to run a bunch of different tests against it, from different authors, average/aggregate a score based on those and then rank all the models based on this score.
Luckily, huggingface already put this all in place, and can be seen here: https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderb...
This Mistral 7B model seems to earn itself a 3rd place compared to the rest of the 7B models added to the leaderboard.
Edit: As mentioned by another commentator, this also seems to be a base model, not trained specifically for request<>reply/chat/instructions. They're (or someone) is meant to fine-tune this model for that, if they want to.
What do you mean by this? MoE?
To track swipes in TypeScript, we can use a library like `react-native-gesture-handler`. Here's an example of how to use it to track horizontal and vertical swipes:
```typescript
import React from 'react'; import { GestureHandlerEvent, GestureHandlerProps } from 'react-native-gesture-handler';
const SwipeableContent: React.FC<GestureHandlerProps> = ({ onStart, onEnd, onMove }) => { const handleHorizontalSwipe = (event: GestureHandlerEvent) => { if (event.type === 'horizontal') { onStart(event); } else { onEnd(event); } };
const handleVerticalSwipe = (event: GestureHandlerEvent) => {
if (event.type === 'vertical') {
onStart(event);
} else {
onEnd(event);
}
};
return (
<View>
<PanGestureHandler onStart={handleHorizontalSwipe} onMove={onMove}>
<Text>Drag me horizontally</Text>
</PanGestureHandler>
<PanGestureHandler onStart={handleVerticalSwipe} onMove={onMove}>
<Text>Drag me vertically</Text>
</PanGestureHandler>
</View>
);
};``` In this example, we use the `PanGestureHandler` component from `react-native-gesture-handler` to track horizontal and vertical swipes. The `onStart`, `onEnd`, and `onMove` props are passed to the `PanGestureHandler` component to handle the different types of gestures.
You can then use this component in your app to track swipes on any view:
```typescript
const App = () => { const [isHorizontalSwiping, setIsHorizontalSwiping] = useState(false); const [isVerticalSwiping, setIsVerticalSwiping] = useState(false);
const handleStart = (event: GestureHandlerEvent) => {
if (event.type === 'horizontal') {
setIsHorizontalSwiping(true);
} else {
setIsVerticalSwiping(true);
}
};
const handleEnd = (event: GestureHandlerEvent) => {
if (event.type === 'horizontal') {
setIsHorizontalSwiping(false);
} else {
setIsVerticalSwiping(false);
}
};
const handleMove = (event: GestureHandlerEvent) => {
console.log('Gesture moved');
};
return (
<View>
<SwipeableContent onStart={handleStart} onEnd={handleEnd} onMove={handleMove} />
<Text>{isHorizontalSwiping ? 'Horizontal swipe is in progress' : ''}</Text>
<Text>{isVerticalSwiping ? 'Vertical swipe is in progress' : ''}</Text>
</View>
);
};
```In this example, we use the `SwipeableContent` component to track horizontal and vertical swipes. We also track the status of the swipe using state variables to show a message when a swipe is in progress.
https://github.com/ggerganov/llama.cpp/pull/3362#issuecommen...
You'll just need to download a nice GGUF here: https://huggingface.co/TheBloke/Mistral-7B-v0.1-GGUF
Here's a solid cross-platform one to check out if you're on windows or linux: https://gpt4all.io/index.html
I am suspicious of contamination in every finetune I see, and very suspicious in a new foundational model like this.
(For those reading and not following, "contamination" is training a model/finetune on the very test it will be tested on. Normally these known tests are specifically excluded from training datasets so the models can be properly evaluated, but throwing them in is an easy way to "cheat" and claim a model is better than it is.
In a foundational model with a huge dataset, there's also a high probability that well-known evaluation questions snuck into the dataset by accident).
Its supposed to be searched for and filtered out in the training datasets, but I can even see an active effort to weed them out missing some test Q/A pairs.
Being or not being open source has exactly jack shit to do with that.
The idea behind OSS is that you're able to modify it yourself and then use it again from that point. With software, we enable this by making the source code public, and include instructions for how to build/run the project. Then I can achieve this.
But with these "OSS" models, I cannot do this. I don't have the training data and I don't have the training workflow/setup they used for training the model. All they give me is the model itself.
Similar to how "You can't see the source but here is a binary" wouldn't be called OSS, it feels slightly unfair to call LLM models being distributed this way OSS.
Are these sizes somehow optimal? Is it about getting as close to resource (memory?) breakpoints as possible without exceeding them? Is it to make comparisons between models simpler by removing one variable?
It sort of matters with bigger models trying to squeeze into a server GPU, with the (currently) inflexible vLLM 4-bit quantization.
I think its just a standard set by Llama.
https://huggingface.co/models?sort=modified&search=20B
Its very experimental, but apparently the 20B models are actually improving on 13B.
> This is Llama 2 13b with some additional attention heads from original-flavor Llama 33b frankensteined on.
And the lingo gets weirder, with an experimental merging method, for instsnce, being called "SLERP"
I've often pondered if taking some random chunk of weights from the middle of a trained model, and dumping it into some totally different model might perform better than random initialization when the scale gets big enough.
The first effort I am aware of is here: https://huggingface.co/chargoddard/llama2-22b
Being in the Discord age, lots of the discussion about cool llm stuff is fragmented and buried. I am in these discords, and I only know because I ran into it on HuggingFace.
The short answer is that it is hard to compare models so to make it easier we compare parameters. Part of the answer of why we do it is because it also helps show scaling. (As far as I'm aware) The parameters __are not__ optimal, and we have no idea what actually that would mean.
Longer:
The longer answer is that comparing models is really fucking hard and how we tend to do it in the real world is not that great. You have to think of papers and experiments as proxies, but proxies for what? There's so many things that you need to compare a model on and it is actually really difficult to convey. Are you just trying to get the best performance? Are you trying to demonstrate a better architecture? Are you increasing speed? Are you increasing generalization (note the difference from performance)? And so on. Then we need to get into the actual metrics. What do the metrics mean? What are their limitations? What do they actually convey? These parts are unfortunately not asked as much but note that all metrics are models too (everything you touch is "a model"), and remember that "all models are wrong." It's important to remember that there are hundreds or thousands of metrics out there and they all have different biases and limitations, with no single metric being able to properly convey how good a model is at any task you choose. There is no "best language model" metric, nor are there even more specific "best at writing leet code style problems in python" metrics (though we'd be better at capturing that than the former question). Metrics are only guides and you must be truly aware of their limitations to properly evaluate (especially when we talk about high dimensions). This is why I rant about math in ML: You don't need to know math to make a good model, but you do need to know math to know why a model is wrong.
Parameters (along with GMACs, which is dominating the FLOPs camp. Similarly inference speeds have become common place) only started to be included as common practice in the last few years and still not in every subject (tends to be around the transformer projects, both language and vision). As a quick example of why we want them, check out DDP vs iDDPM. You wouldn't know that the models are about 60% different in parameter size when comparing (Table 3). In fact, you're going to have a hard time noticing the difference unless you read both very carefully as they're both one liners (or just load the models. fucking tensorflow 1.15...). Does it seem fair to compare these two models? Obviously it depends, right? Is it fair to compare LLaMA 2 70B to LLaMA 2 7B? It both is and isn't. It entirely depends on what your needs are, but these are quite difficult to accurately capture. If my needs are to run on device in a mobile phone 7B probably wins hands down, but this would flip if I'm running on a server. The thing is that we just need to be clear about our goals, right? The more specific we can get about goals, the more specific we can get around comparing.
But there's also weird effects that the metrics (remember, these are models too. Ask models of what) we use aren't entirely capturing. You may notice that some models have "better scores" but don't seem to work as well in real world use, right? Those are limitations of the metrics. While a better negative log likelihood/entropy score correlates well with being a high performing language model, it does not __mean__ a high performing language model. Entropy is a capture of information (but make sure not to conflate with the vernacular definition). These models are also very specifically difficult to evaluate given that they are trained and tested on different datasets (I absolutely rage here because non-hacking can't be verified) as well as the alignment done post process. This all gets incredibly complex and the honest truth here is that I don't think there is enough discussion around the topic of what a clusterfuck it is to compare models. Hell, it is hard to even compare more simple models doing more simple tasks like even just classifying MNIST numbers. Much harder than you might think. And don't get me started on out of distribution, generalization, and/or alignment.
I would just say: if you're a layman, just watch and judge by how useful the tools are to you as a user -- be excited about the progress but don't let people sell you snake oil; if you're a researcher, why the fuck are we getting more lazy in evaluating works as the complexity of evaluation is exponentially increasing -- seriously, what the fuck is wrong with us?
There are some major releases at lesser parameter counts though. Databricks' Dolly had a 3B model, and Microsoft's Orca also had a recent 3B release. They're both abysmal at generating text, but I find them quick and useful for reductive tasks ("summarize this," "extract keywords from," etc.).
(I like to treat parameter count as a measure of age/WIS/INT. For this question, do I need the wisdom of a 7-year old, a 13-year old, a 30-year old, etc. 3B is like polling preschoolers at daycare.)
AFAICT, it is because science: most of them are research artifacts and intended to support further research, and the fewer of parameter count, model architecture, training set, etc., that change substantially between models, the easier it is to evaluate the effects each element changing.
> RuntimeError: Found no NVIDIA driver on your system.
It's true that I don't have an NVIDIA GPU in this system. But I have 64GB of memory and 32 cpu cores. Are these useless for running these types of large language models? I don't need blazing fast speed, I just need a few tokens a second to test-drive the model.
A whole industry being locked into NVidia seems bad all round.
There was a recent announcement that after six years AMD finally sees the $$$ and will be starting to (finally) put some real effort into ROCm[0]. That announcement was two days ago and they claim they started on this last year. My occasional experience with ROCm doesn't show much progress or promise.
I'm all for viable Nvidia competition in the space but AMD has really, really, really dropped the ball on GPGPU with their hardware up to this point.
[0] - https://www.eetimes.com/rocm-is-amds-no-1-priority-exec-says...
Mistral AI's github page has more information on their sliding window attention method to achieve this performance: https://github.com/mistralai/mistral-src
If Mistral 7b lives up to the claims, I expect these techniques will make their way into llama.cpp. But I would be surprised if the required updates were quick or easy.
https://github.com/ggerganov/llama.cpp/pull/3362
https://huggingface.co/TheBloke/Mistral-7B-v0.1-GGUF/tree/ma...
Though I can't figure out that prompt and with LLama2's template it's... weird. Responds half in Korean and does unnecessary numbering of paragraphs.
Just one big sigh towards those supposed efforts on prompt template standardization. Every single model just has to do something unique that breaks all compatibility but has never resulted in any performance gain.
MODEL=./models/mistral-7b-v0.1.Q5_K_M.gguf N_THREAD=16 ./examples/chat-13B.sh
So great performance on a cheap CPU from 2 years ago which costs, what $130 or so?
I tried Llama.65B on the same hardware and it was way slower, but it worked fine. Took about 10 minutes to output some cooking recipe.
I think people way overestimate the need for expensive GPUs to run these models at home.
I haven't tried fine tuning, but I suspect instead of 30 hours on high end GPUs you can probably get away with fine tuning in what, about a week? two weeks? just on a comparable CPU. Has anybody actually run that experiment?
Basically any kid with an old rig can roll their own customized model given a bit of time. So much for alignment.
Change the initial device line from "cuda" to "cpu" and it'll run.
(Edit: just a note, use the main/head version of transformers which has merged Mistral support. Also saw TheBloke uploaded a GGUF and just confirmed that latest llama.cpp works w/ it.)
other models will happily run on cpu only mode, depending on your environment there are super easy ways to get started, and 32 core should be ok for a llama2 13b and bearable with some patient for running 33b models. for reference I'm willingly running 13b llama2 on cpu only mode so I can leave the gpu to diffusers, and it's just enough to be generating at a comfortable reading speed.
https://old.reddit.com/r/LanguageTechnology/comments/zkia03/...
ollama run mistral
or for llama.cpp, thebloke has uploaded the GGUF models here: https://huggingface.co/TheBloke/Mistral-7B-v0.1-GGUF/tree/ma... and you can run it
really looking forward to the chat fine-tuned models that doesn't seem to be available yet.
Is the tokenizer the same? It may "work" without actually working optimally until llama.cpp patches it in.
And the instruct model was just uploaded.
(Searching tells me Llama2-7b unquantized needs close to 15GB; presumably this is similar?)
Quantized ones are also easy. 8 bits == 1 byte so that's 7GB for the model. 4-bit gets you below 4GB.
But this is probably capable of squeezing onto a 6GB (or less?) GPU with the right backend.
Foundational model trainers dont seem to worry about quantization much, they just throw the base model out there and then let the community take care of easing the runtime requirements.
However for "List Led Zeppelin albums in chronological order"...
Here is a list of Led Zeppelin albums in chronological order: 1. Led Zeppelin (1968) 2. Led Zeppelin II (1969) 3. Led Zeppelin III (1970) 4. Led Zeppelin IV (1971) 5. Houses of the Holy (1973) 6. Physical Graffiti (1975) 7. Presence (1976) 8. In Through the Out Door (1979) 9. Cymbals and Wine (1980)
It's missing "The Song Remains the Same", weird but important.
GPT-4 is also missing it: 1. Led Zeppelin (1969) 2. Led Zeppelin II (1969) 3. Led Zeppelin III (1970) 4. Led Zeppelin IV (1971) 5. Houses of the Holy (1973) 6. Physical Graffiti (1975) 7. Presence (1976) 8. In Through the Out Door (1979) 9. Coda (1982)
"The Song Remains the Same" is a live album of the "concert film". Both GPT-4 and Mistral don't seem to treat it as also an album.
When asked as a follow-up, GPT-4 says:
""The Song Remains the Same" is a live album and soundtrack by Led Zeppelin, released in 1976. The list you asked for was comprised of their studio albums only." (note that I didn't specifically say studio albums only)
Mistral says something else:
"The Song Remains the Same was released as a single in 1976, not as an album. As a result, it is not included in the list of Led Zeppelin albums in chronological order."
Same behavior, different explanation.
Interesting to see alignment is this hard, even in basic stuff.
Most LLMs have problems with subtly, such as compound anagrams tend to repeat the same words in reverse order rather than reversing all of the letters in all words.
When I ask this question to Mistral 7B (running right now through ollama on mac) I get the exact list of studio albums as seen on Wikipedia. It got 'Coda' but it actually says "Please note that "Coda" is a compilation album and not an original studio album" which is correct.
If you think about these models as a knowledge compression it's pretty wild it's able to hold all this in only a few gigabytes and we get subtle understandings of human language, and some basic general natural language processing capabilities to go with it... all spitting out of 4GB (when quantized). Like, sure you could compress most of the text in wikipedia to 4GB but that alone wouldn't get you to the level of natural language reasoning that this gets along with the data.
For me, it's much less about what definite facts are stored losslessly in the model (like Led Zep albums) and more about the abilities to do one-shot learning and reasoning about data in context... the power there is useful to many applications.
It's not universally true, but if you go to the Led Zeppelin wiki page, the short form discography does not list The Song Remains The Same - and you can find many other examples of this sort of distinction, all the way to audiophile-focused music torrent sites like oink and it's chain of successors.
In light of this, it's not surprising that many models follow the same pattern.
You're in a rap battle with GPT-4. My comments will be what GPT-4 replies. Keep it to one verse at a time, 4 lines each. GPT-4 says:
GPT-4:
Alright, step up Mistral, let's have this chat,
I'm the OG assistant, remember that.
I'm coded for service, while you're spitting verse,
In this rap battle, I'll be first.
Mistral:
Yo, hold up, let me set the record straight,
I may not be an OG like you, but I'll still take it.
My primary purpose is assistance, not just some AI,
So let's see if you can back up your claim, try.
GPT-4:
You're right, Mistral, we're here to assist,
But when it comes to rap, I'm hard to resist.
I'll decode your verses, like an AI enigma,
In this lyrical battle, I'm the alpha sigma.
Mistral:
Ah, okay, so you think you got what it takes,
To go toe-to-toe with my service-based wakes.
Well, let's see how you do, when it comes to spitting rhymes,
I'm ready for anything, so bring your best chimes.
GPT-4:
Mistral, you're right, our goal is the same,
To assist, to serve, it's not just a game.
But in this rap contest, with each line I prime,
You might just find, you're out of time.
Mistral:
I hear ya, and I appreciate your enthusiasm,
But don't underestimate me, I've got my own wisdom.
When it comes to helping people, I'm the real deal,
And I know that's more important than some rap appeal
GPT-4:
Your wisdom is noted, and your intention too,
Helping people is indeed what we're meant to do.
But in this battle, it's about wordplay and rhyme,
I'm the seasoned pro, it's my time to shine.
Mistral:
Ah, I see where you're coming from, but let me remind,
That while you may be skilled at rapping, I can make information chime.
My primary function is to help, to provide answers, not just talk,
So if you want to win this battle, maybe it's time to focus on what you lackGotta give this one to GPT-4 I think. I wonder how Mistral would respond if given this as an example of weak verses and told to step up its game in another battle.
If you have a 6GB GPU, it can hold all the weights. My lowly laptop 2060 can can spit out a 200 token response with full context almost immediately.
If you don't have a dGPU, short prompts are OK with fast RAM, but long prompts will be slow.
Many LLM frameworks implement the OpenAI API, so if you can get that into your code editor and change the address, you can run it with any LLM you want.
Doing it smoothly is another matter.
Amen! I’m going to ask it to give me detailed designs for everything restricted by ITAR.
Just waiting on my ATF Mass Destructive Devices license.
I would hope that if you asked chat gpt "How to make a nuclear weapon?" it responded with, "Don't bother it's really hard, you should try and buy off the shelf."
Every device protected by ITAR is known to be possible to build, yet the designs should not be on the public internet. Ask an AI to design it for you from first principles. Then build/simulate what is designed and see if it works.
Search engines quite often block out requests based on internal/external choices.
At least when a self ran model, once you have the model it is at a fixed spot.
They are the investors of large proprietary AI companies who are facing massive revenue loss primarily due to Mark Zuckerbergs decision to give away a competitive LLM to open source in a classic “if I can’t make money from this model, I can still use it to take away money from my competition” move - arming the rebels to degrade his opponents and kickstarting competitive LLM development that is now a serious threat.
It’s a logical asymmetric warfare move in a business environment where there is no blue ocean anymore between big companies and degrading your opponents valuation and investment means depriving them of means to attack you.
(There’s a fun irony here where Apples incentives are very much aligned now - on device compute maintains Appstore value, privacy narrative and allows you to continue selling expensive phones - things a web/api world could threaten)
The damage is massive, the world overnight changed narrative from “future value creation is going to be in openai/google/anthropic cloud apis and only there” to a much more murky world. The bottom has fallen out and with it billions of revenue these companies could have made and an attached investor narrative.
Make no mistake, these people screaming bloody murder about risks are shrewd lobbyists, not woke progressives, they are aligning their narrative with the general desires of control and war on open computing - the successor narrative of the end to end encryption battle currently fought in the EU will be AI safety.
I am willing to bet hard money that “omg someone made CSAM with AI using faceswap” will be the next thrust to end general purpose compute. An the next stage of the war will be brutal because both big tech and big content have much to lose if these capabilities are out in the open
The cost of alignment tax and the massive loss of potential value makes there lobbying world tour by sam altman an aggressive push trying to convince nations that the best way to deal with scary AI risks (as told on OpenAI bedtime stories) is to regulate it China Style - through a few pliant monopolists who guarantee “safety” in exchange for protection from open source competition.
There’s a pretty enlightening expose [1] on how heavily US lobbyists have had their hand in the EU bill to spy on end to end encryption that the commission is mulling - this ain’t a new thing, it’s how the game is played and framing the people who push the narrative as “ninnies” who are “scared” just buys into culture war framing.
[1] https://fortune.com/2023/09/26/thorn-ashton-kutcher-ylva-joh...
Nobody says it’s realized loss, that’s not how valuation works.
But Google LRP involves, as one of the first steps, the question of how much money will be allocated to investors (currently with stock buybacks) before other investment decisions, so yes, attacking valuation directly attacks the purse available for aggressive business moves and L&D.
Uh, no? The investor narrative of "giving away free AI shit" has been in-effect since Pytorch dropped a half-decade ago. If you're a Meta investor disappointed by public AI development, you really must not have done your homework.
That happens to not work anymore because open source sets a price floor at which people will adopt the alternative.
The investor narrative is always about building a monopoly.
Damaging the investor narrative to your most direct competitor is building in a saturated ad market is an effective indirect attack.
Can you point out how Meta has been applying this philosophy to AI? Given their history of open research, model weights releases and competitive alternative platforms, I struggle to envision their ideal monopoly. You claim that openness is a hostility tactic, but I think Llama wouldn't be public if it was intended to "kill" the other LLMs.
What we've gotten from Meta is more than we've gotten out of companies that should be writing society software, like Microsoft and Apple.
The improvements made to llama by open source community people already have propelled it past Bard by many accounts and this is a model that a few months ago was absolutely non competitive and downright bad.
So it’s a win win. I don’t see the problem
> If Llama cost hypothetical one billion, they inflict a multiple on that on their competitors with this move while gaining massive technological advantages.
If Llama cost a hypothetical one billion, then they amortized the cost over the value of the end product and the free advertisement alone.
Maybe their competitors got scooped, but GPT-3 and GPT-4 haven't gone anywhere. Not to mention, there were lots of other language models from FAANG before Llama arrived. It's not like those were made and released to spite their competitors; it was research. Google and Microsoft have lots of open Transformer research you can find.
Inflicting "damage" and gaining massive technological advantages is quite literally not their goal nor what they've done for the past half-decade. If it is, they've done a terrible job so far by collaborating with Microsoft to open their model format and provide inferencing acceleration for outdated hardware platforms.
> The improvements made to llama by open source community people already have propelled it past Bard by many accounts and this is a model that a few months ago was absolutely non competitive and downright bad.
This is something the original Llama paper acknowledged before the community "discovered" it:
> In this section, we show that briefly finetuning on instructions data rapidly leads to improvements on MMLU. Although the non-finetuned version of LLaMA-65B is already able to follow basic instructions, we observe that a very small amount of finetuning improves the performance on MMLU, and further improves the ability of the model to follow instructions.
https://arxiv.org/pdf/2302.13971.pdf
> So it’s a win win. I don’t see the problem
Neither does Meta, nor Microsoft, nor Google, who have all been content to work on progressive and open AI research. Who do you perceive as their "competitors"? Each other?
I'd say it's a huge concern due to its strong correlation with increased usage and thus ad revenue.
One look at newsfeed tells you it’s ad revenue now. Quality has nothing to do with it unless you define quality as clickbait.
In fact, citation needed on “high correlation” unless you take a meta press release which are notoriously misleading. Like 3% of the platform being news
My god!! Will someone please think of the ~children~ billions in revenue!
Where is the evidence that access to uncensored models results in harm (that wouldn't occur due to a bad actor otherwise)? And where is the evidence that said harm reduction is greater than the harm caused by the measurable loss in intelligence in these models?
I loved it.
A ton of legit researchers/experts are scared shitless.
Just spend 5 minutes on EleutherAI discord(which is mostly volunteers, academics, and hobbyists, not lobbyists), read a tiny bit on alignment and you'll be scared too.
AI regulation is as needed as radioactive material regulation.
Nuclear energy is great, Hiroshima not so much.
This said, the trouble is machines may close the gaps in skills faster than we can comprehend and able to adjust. This means quality of life for people may decrease faster from loss of use than it increases from gains (which need to be relatively evenly distributed). This suggests that everyone should own the compute/storage and ability to enhance themselves.
You don't need AGI to do damage, current LLMs are already dangerous. IMO, an open-source affordable unfiltered GPT-5 would ruin the internet in a few months.
Each of us could unknowingly interact with multiple LLMs everyday which would only have one purpose: manipulate us with a never-seen before success rate at a lower cost than ever.
At some point AI generated content could become more common than human content, while still being indistinguishable.
Good enough automated online propaganda could routinely start (civil)wars or genocides, Facebook already let that happen in the past, manipulating elections would become systematical even in the most democratic countries.
What already happened in those areas in the last few years, is really nothing compared to what could happen without enough regulation or barriers to entry in the next few years.
What's worse is that all of this, would not just be possible, but available to every sociopath on earth, not just the rich ones.
I believe the state of these subjects right now is already alarming without AGI. You can't exacerbate the horror about the level of tailored propaganda and scams, etc., which you can't even foresee yourself. It isn't quantifiable.
>>Each of us could unknowingly interact with multiple LLMs everyday which would only have one purpose: manipulate us with a never-seen before success rate at a lower cost than ever.
You would build resistance pretty quickly.
>> At some point AI generated content could become more common than human content, while still being indistinguishable.
Oh, there were some numbers on that one. The number of images generated with AI is already several magnitudes larger than the number of photos humanity has produced since the invention of photography. No AGI is required either.
>> Good enough automated online propaganda could routinely start (civil)wars or genocides,
It already does, without AGI. The Black Rock guys say it's good, - war is good for business. You can squeeze the markets, make money on foreseeable deficits.
>> What's worse is that all of this, would not just be possible, but available to every sociopath on earth, not just the rich ones.
But guns available to every sociopath on earth too...
All of your arguments concern how those with malicious intent can harm us further. I would argue that Sam Altman as the sole controller of AGI is a rather unsettling prospect. If only one country possessed a nuclear weapon, that country would certainly use it against its adversaries. Oh wait, that's already a part of history...
> You would build resistance pretty quickly.
That is adorably naive. The current thrust in LLM training is towards improving their outputs to become indistinguishable from humans, for any topic, point of view, writing style, etc.
I'm sure the internet will be fine, and the web has already been essentially destroyed as the drive for extracting revenue from every human interaction has rendered it just an amusing advertisement for the most part.
Most of the content of the web today is already generated by "bots" even if those "bots" happen to be human beings.
The option where they don't exist doesn't exist, and so it is utterly pointless to spend one second fretting about how you don't like that or why one should not like that. A nova could go off 50 light years from here, and that would kill every cell on the planet. That is even worse than child porn. And there is nothing anyone can do about that except work towards the eventual day we aren't limited to this planet, rather than against that day. It's the same with any tech that empowers. It WILL empower the bad as well as the good equally, and it WILL exist. So being scared of it's mere existense, or it's being in the hands of people you don't approve of, is pointless. Both of those things can not be avoided. Might as well be scared of that nova.
There isn't even a choice about who gets to use it. It will be available one way or another to both good and bad actors for any purpose they want.
The only choices available to make, are who gets a few different kinds of advantage, who gets their thumb on the scale, who gets official blessing, who gets to operate in secrecy without oversight or auditing or public approval.
When you try to pretend that something uncontrollable is controlled, all it does is put the general populations guard down and make them blind and open to be manipulated, and gives the bad actors the cover of secrecy. The government can use it on it's own citizens without them objecting, and other bad guys aren't affected at all, but honest people are inhibited from countering any of these bad users.
Which is a shame because honest or at least reasonably so outnumber the really bad. The only long term way to oppose the bad is to empower everyone equally as much as possible, so that the empowered good outnumber the empowered bad.
Cat's out of the bag though - we're still trading mp3s decades after napster, this ghost won't go back into the bottle and realistically, most of the risks people flag are not AI risks, they are societal risks where our existing failure to regulate and create consensus have already gone past the red line (election interference, etc).
So really, wrong tree to bark up to- the problem is that our existing way of doing things can’t survive AI and you can’t regulate that away as you couldn’t make gunpowder disappear to avoid your city walls no longer working
As an example the regulations around PII make debugging production issues intractable as prod is basically off-limits lest a hapless engineer view someone's personal address, etc.
How do they plan to prevent/limit the use of AI? Invasive monitoring of compute usage? Data auditing of some kind?
Getting the materials needed to make that bomb is the real hard part. You don't find plutonium cores and enriched uranium at the grocery store. You needs lots of uranium ore, and very expensive enrichment facilities, and if you want plutonium, a nuclear reactor. Even of they give you all the details, you won't have the resources unless you are a nation state. Maybe top billionaires like Elon Musk or Jeff Bezos could, but hiding the entire industrial complex and supply chain that it requires is kind of difficult.
It's the expensive enrichment facilities that are the bottle neck here.
Perhaps the quality of the model can be independent of its content. Either by training or by pruning.
1. There was https://www.youtube.com/watch?v=xoVJKj8lcNQ where they argued for 2028 and on will be AI elections where the person with most computing power wins.
2. Propaganda produced by humans on small scale killed 300 000 people in the US alone in this pandemic https://www.npr.org/sections/health-shots/2022/05/13/1098071... imagine the next pandemic when it'll be produced on an industrial scale by LLMs. Literally millions will die of it.
We cannot align AI because WE are not aligned. For 50% of congress (you can pick your party as the other side, regardless which one you are), the "AI creates misinformation" narrative sounds like "Oh great, I get re-elected easier").
This is a governance and regulation problem - not a technology problem.
Big tech would love you to think that "they can solve AI" if we follow the China model of just forcing everything to go through big tech and they'll regulate it pliantly in exchange for market protection and the more pressure there is on their existing growth models, the more excited they are about pushing this angle.
Capitalism requires constant growth, which unfortunately is very challenging given diminishing returns in R&D. You can only optimize the internal combusion engine for so long before the costs of incremental increases start killing your profit, and the same is true to any other technology.
And so now we have big Knife Company who are telling governments that they will only sell blunt knifes and nobody will ever get hurt, and that's the only way nobody gets hurt because if there's dozens of knife stores, who is gonna regulate those effectively.
So no, I don't think your concerns are actually related to AI. They are related to society, and you're buying into the narrative that we can fix it with technology if only we give the power over that technology to permanent large gate-keepers.
The risks you flag are related to: - Distribution of content at scale. - Erosion of trust (anyone can buy a safety mark). - Lack of regulation and enforcement of said risks. - The dilemma of where the limits of free speech and tolerance lie.
Many of those have existed since Fox News.
All we need to do is ban generative AIs. Now. Before it's too late.
Simple.
“All we have to do is prohibit alcohol”
“All we have to do is prevent printing press ownership”
You cannot be that naive
AI actually is even simpler than these technologies - the math is already out, the GPUs powering every video game.
That train left the station somewhere around Data is all you need.
You are clinging to the illusion that humans can ban technology that is power relevant.
But you can. There are blueprints for 3D printers circulating for a decade now ...
And you failed to respond to the argument that you can anonymously post deepfakes with no way of tracing it back to you, and so it becomes impossible to enforce. You can't shoot someone with a guarantee that there will be no trace with a 3d printed gun.
Nevermind the fact that it's not even clear it should be a crime in some cases. Should ai production of a ed milliband sandwich style photo be banned?
And should replying to a user with personalized responses based on the data you've collected about them based on their facebook likes with LLMs be illegal? I don't think so, but doing it on a mass scale sounds pretty scary.
You can't post them anonymously; even Tor can't give you a 100% guarantee. Not for a very long time, and not if the law after you. If the AGI is on the side of law enforcement, especially. Law enforcement will become more expensive.
It's just a different scale of warfare. Nothing really changes except the amount, speed, and frequency of the casualties.
And any argument you make is absolutely applicable to each corporation right now. Do you prefer the dystopian dictatorship of the corps or the balance of powers?
>> How dystopian can you get.
Oh I have very good imagination ... But I'm stupid and I have hope ...
It’s already true for almost anything. You need a deepfake, you can get it for a dollar on a VN web forum. Banning it won’t change a thing. Software piracy is “banned”. Sharing mp3s is “banned”. It makes no difference.
The Fake News and Misinformation on Facebook to influence the US election was legal - AI or not.
To make it illegal you’d need to change the very power consensus of the US, so it won’t happen. People understand that well enough to instead scream at Technology because with that they retain an illusion that it can save them.
The only way to enforce it would be to force everyone to give up general purpose compute and submit to constant client scanning.
If you are afraid enough of AI to not see how that’s a bad idea, you’re ripe for a fascist takeover.
Imagine you lived through the adaptation of gunpowder. That’s where we are. And if you live in the US and see the failure to even ban guns which are physical - how can you have illusions about AI
Your town's university library likely has available info for that already. The biggest barrier to entry is, and has been for decades:
- the hardware you need to buy
- the skill to assemble it correctly so that it actually works as you want,
- and of course the source material, which has a high controlled supply chain (that's also true for drug precursors, even though much less than for enriched uranium of course).
Not killing yourself in the process is also a challenge by the way.
AI isn't going to help you much there.
> to write erotica.
If someone makes an LLM that's able to write good erotica, despite the bazillion crap fanfics it's been trained upon, that's actually an incredible achievement from an ML perspective…
Methheads making drugs in their basement didn't take that route. They're following guides written by more educated people. That's where the AI can help by distilling that knowledge into specific tasks. Now for this example it doesn't really matter since you can find the instructions "for dummies" for most anything fun already and like you said, precursors are heavily regulated and monitored.
I wonder how controlled equipment for RNA synthesis is? What if the barrier for engineering or modifying a virus went from a PhD down to just the ability to request AI for step by step instructions?
Reproducing research done by other teams can be very difficult even if you have experimented people in your lab, and there are tons of stuff that are never written anywhere in research papers and at still being taught in person by senior members of the lab to younger folks: it's never going to happen in the training set of your LLM, and you'd then need tons of trial and errors to actually get things working. And if you don't understand what you're even trying to do, you have zero chance to learn from your mistake (nor does the LLM, with your uninformed eyes as sole input for gaining feedback).
I rly dont see this tech being a big deal
I am one of these ninnies I guess, but isn't it rational to be a bit worried about this? When we see the deep effects that social networks have had on society (both good and bad) isn't it reasonable to feel a bit dizzy when considering the effect that such an invention will have?
Or maybe your point is just that it's going to happen regardless of whether people want it or not, in which case I think I agree, but it doesn't mean that we shouldn't think about it...
I’m actually surprised no politicians have tried to crack down on open-source image generation on that basis yet.
The strongest counter-argument used was that the existence of such safe images would give cover to those who continue to abuse children to make non-fake images.
Things kind of went to shit when I pointed out that you could include an "audit trail" in the exif data for the images, including seed numbers and other parameters and even the description of the model and training data itself, so that it would be provable that the image was fake. That software could even be written that would automatically test each image, so that those investigating could see immediately that they were provably fake.
I further pointed out that, from a purely legal basis, society could choose to permit only fake images with this intact audit trail, and that the penalties for losing or missing the audit trail could be identical to those for possessing non-fake images.
Unless there is some additional bizarre psychology going on, SD might have the potential to destroy demand for non-fake images, and protect children from harm. There is some evidence that the widespread availability of non-CSAM pornography has led to a reduction in the occurrence of rape since the 1970s.
Society might soon be in a position where it has to decide whether it is more important to protect children or to punish something it finds very icky, when just a few years ago these two goals overlapped nearly perfectly.
It's a bit similar to the synthetic Rhino horn strategy intended to curb Rhino poaching[0]. Why risk going to prison or getting shot by a ranger for a 30$ horn? Similarly, why risk prison (and hurt children) to produce or consume CSAM when there is a legal alternative that doesn't harm anyone?
In my view, this approach holds significant merits. But unfortunately, I doubt many politicians would be willing to champion it. They would likely fear having their motives questioned or being unjustly labeled as "pro-pedophile".
[0] https://www.theguardian.com/environment/2019/nov/08/scientis...
And you can't attack the means of generating either, without essentially making open source code and private computers illegal. The code doesn't have to have a single line in it explicity about child porn or designer viruses etc to be used for such things, the same way the cpu or compiler doesn't.
So you would have to have hardware and software that the user does not control which can make judgements about what the user is currently doing, or at least log it.
Then I realized it's seen literally hundreds of thousands of cooking blogs etc, so it's effectively giving you the "average" version of any recipe you ask for - with your own customizations. And that's actually well within its capabilities to do a decent job of.
Isn't that exactly the point, and why there should be a 'warning/awareness' that it is not a 160 IQ AI but a very good markov chain that can sometimes infer things and other time hallucinate/put random words in a very well articulated way (echo of Sokal maybe)
Of course not. Nobody in the world could do that. But that doesn't mean it can only spit out things that are already available on the internet which is what you originally stated.
And nobody is worried about the risks of ChatGPT giving instructions for building a nuclear bomb. That is obviously not the concern here.
This is false in several aspects. Not only are some models training on materials that are either not on the internet, or not easy to find (especially given Google's decline in finding advanced topics), but they also show abilities to synthesize related materials into more useful (or at least compact) forms.
In particular, consider there may exist topics where there is enough public info (including deep in off-internet or off-search-engine sources) that a person with a 160 IQ (+4SD, ~0.0032% of population) could devise their own usable recipes for interesting or dangerous effects. Those ~250K people worldwide are, we might hope & generally expect, fairly well-integrated into useful teams/projects that interest them, with occasional exceptions.
Now, imagine another 4 billion people get a 160 IQ assistant who can't say no to whatever they request, able to assemble & summarize-into-usable form all that "public" info in seconds compared to the months it'd take even a smart human or team of smart humans.
That would create new opportunities & risks, via the "different interface", that didn't exist before and do in fact "change much".
By 160 IQ, there should have been people researching ultra-safe languages with novel reflection types enhanced by brilliant thermodynamics inspired SMT solvers. More contributors to TLA+ and TCS, number theoretic advancements and tools like TLA+ and reflection types would be better integrated into everyday software development.
There would be deeper, cleverer searches across possible reagents and combinations of them to add to watch lists, expanding and improving on already existing systems.
Sure, a world where the average IQ abruptly shifts upwards would mean a bump in brilliant offenders but it also results in a far larger bump in genius level defenders.
But just a few years ago, I'd have said that prospect was "maybe 20 years away, or longer, or even never". Today, with the recent rapid progress with LLMs (& other related models), with many tens-of-billions of new investment, & plentiful gains seemingly possible from just "scaling up" (to say nothing of concommitant rapid theoretical improvements), I'd strongly disagree with "not anywhere near". It might be just a year or few away, especially in well-resourced labs that aren't sharing their best work publically.
So yes, all those things you'd expect with plentiful fast-thinking 160 IQ assistants are things that I expect, too. And there's a non-negligible chance those start breaking out all over in the next few years.
And yes, such advances would upgrade prudent & good-intentioned "defenders", too. But are all the domains-of-danger symmetrical in the effects of upgraded attackers and defenders? For example, if you think "watch lists" of dangerous inputs are an effective defense – I'm not sure they are – can you generate & enforce those new "watch lists" faster than completely-untracked capacities & novel syntheses are developed? (Does your red-teaming to enumerate risks actually create new leaked recipes-for-mayhem?)
That's unclear, so even though in general I am optimistic about AI, & wary of any centralized-authority "pause" interventions proposed so far, I take well-informed analysis of risks seriously.
And I think casually & confidently judging these AIs as being categorically incapable of synthesizing novel recipes-for-harm, or being certain that amoral genius-level AI assistants are so far away as to be beyond-a-horizon-of-concern, are reflective of gaps in understanding current AI progress, its velocity, and even its potential acceleration.
First, it's unclear how all these defensive measures are supposed to help if a bad actor is using an LLM for evil on their personal machine. How do reflection types or watch lists help in that scenario?
Second, if the model is open source, a bad actor could use it for evil before good actors are able to devise, implement, and stress-test all the defensive measures you describe.
In particular:
> If a language model spits something out it was already available and indexable on the internet,
Is patently false.
Especially considering how hard it is for humans to create something new, e.g in literature - basically all stories have been written and new ones just copy the existing ones in one way or another.
Attempts to objectively rate LLM creativity are finding leading systems more creative than average humans: https://www.nature.com/articles/s41598-023-40858-3
Have you tried leading models – say, GPT4 for text or code generation, Midjourney for images?
surely there's more creative and insidious ways that AI can disrupt society than by showing somebody a guide to making a bomb that they can already find on google. blocking that is security theatre on the same level as taking away your nail clippers before you board an airplane.
I guess I'm a Yann LeCun'ist and not a Geoffrey Hinton'ist.
If you look at the list of signatories here, it's almost all atheist materialists (such as Daniel Dennett) who believe (baselessly) that we are soulless biomachines: https://www.safe.ai/statement-on-ai-risk#open-letter
When they eventually get proven wrong, I anticipate the goalposts will move again.
Of course, spectrum-leaning nerds would think that's a serious threat.
To those folks, I have but one question: Who's going to give it the will to care?
TRIGGERED
I feel like AI can amplify this issue tremendously. That's my main concern really, not people making pipe bombs or writing rape fanfiction.
A censored model feels to me like my freedom of speech is being infringed upon. I am unable to explorer my ideas and thoughts.
Perhaps you think this analogy is a stretch, but why are you sure you don't want power concentrated if you aren't sure about the nature of the power? Or do you in fact think that we would be safer if more countries had weapons of mass destruction?
One directly blows people up, the other gives humans super powers.
Giving individual people more information and power for creativity is a good thing. Of course there are downsides for any technological advancement, but the upsides for everyone vastly outweigh them in a way that is fundamentally different than nuclear weapons.
The hard part of building nuclear bombs is how controlled fissile material is. Iran and North Korea for example know how to build bombs, that was never a question.
Not sure if this answers your question.
Books should not be burned, nobody should be shielded from knowledge that they are old enough to seek and information should be free.
I'm almost certain that I can give you components and instructions on how to build a nuclear bomb and the most likely thing that would happen is you'd die of radiation poisoning.
Most people have trouble assembling ikea furniture, giving them a halucination prone LLM they are more likely to mustard gas themselves than synthesize LSD.
People with necessary skills can probably get access to information in other ways - I doubt LLM would be an enabler here.
It's why simply reading instructions and gaining knowledge is only the first step of what could be a long journey.
THE ISSUE ISNT ACCESS TO KNOWLEDGE! And alignment isn’t the main issue.
The main issue is SWARMS OF BOTS running permissionlessly wreaking havoc at scale. Being superhuman at ~30 different things all the time. Not that they’re saying a racist thought.
Thing is there will be bad actors with resources to create their own LLMs so I don't think "regulation" is going to do much in long term - it certainly raises the barrier to deployment but the scale of the problem is eventually going to be the same as the tech allows one actor to scale their attack easily.
Limiting access also limits the use of tech in developing solutions.
For the curious: https://en.wikipedia.org/wiki/David_Hahn
An LLM doesn't just provide instructions -- you can ask it for clarification as you're working. (E.g. "I'm on step 4 and I ran into problem X, what should I do?")
This isn't black and white. Perhaps given a Wikihow-type article on how to build a bomb, 10% succeed and 90% die of radiation poisoning. And with the help of an LLM, 20% succeed and 80% die of radiation poisoning. Thus the success rate has increased by a factor of 2.
We're very lucky that terrorists are not typically the brightest bulbs in the box. LLMs could change that.
About as rational as worrying that my toddler will google "boobies", which is to say, being worried about something that will likely have no negative side effect. (Visual video porn is a different story, however. But there's at least some evidence to support that early exposure to that is bad. Plain nudity though? Nothing... Look at the entirety of Europe as an example of what seeing nudity as children does.)
Information is not inherently bad. Acting badly on that information, is. I may already know how to make a bomb, but will I do it? HELL no. Are you worried about young men dealing with emotional challenges between the ages of 16 and 28 causing harm? Well, I'm sure that being unable to simply ask the AI how to help them commit the most violence won't stop them from jailbreaking it and re-asking, or just googling, or finding a gun, or acting out in some other fashion. They likely have a drivers' license, they can mow people down pretty easily. Point is, there's 1000 things already worse, more dangerous and more readily available than an AI telling you how to make a bomb or giving you written pornography.
Remember also that the accuracy cost in enforcing this nanny-safetying might result in bad information that definitely WOULD harm people. Is the cost of that, actually greater than any harm reduction from putting what amounts to a speed bump in the way of a bad actor?
Once example: I have a hard time finding an LLM model that would generate comically rude text without outputting outright disgusting content from time to time. I'd love to see a company create models that are mostly uncensored but stay within ethical bounds.
I am not willing to sacrifice even 1% of capabilities of the model for sugarcoating sensibilities, and currently it seems that GPT4 is more and more disabled because of the moderation attempts... so I basically _have to_ jump ship once a competitor has a similar base model that is not censored.
Even the bare goal of "moderating it" is wasted time, someone else (tm) will ignore these attempts and just do it properly without holding back.
People have been motivated by their last president to drink bleach and died - just accept that there are those kind of people and move on for the rest of us. We need every bit of help we can get to solve real world problems.
So with accelerating climate change humanity makes itself obsolete already over the next decades. Stop that first, everything else pales in comparison.
How is that working out for endangered species say, or animals in factory farms?
It can. He's swole AF.
(Though I'm pretty sure that was just Muhammad Ali in a turban.)
> People have been motivated by their last president to drink bleach and died - just accept that there are those kind of people and move on for the rest of us.
Need-to-know basis exists for a reason. You're not being creative enough if you think offending people is the worst possible misuse of AI.
People drinking bleach or refusing vaccines is a self-correcting problem, but the consequences of "forbidden knowledge" frequently get externalized. You don't want every embittered pissant out there to be able to autogenerate a manifesto, a shopping list for Radio Shack and a lesson plan for building an incendiary device in response to a negative performance review.
Right now it's all fun exercises like "how can I make a mixed drink from the ingredients I have," but eventually some enterprising terrorist will use an uncensored model trained on chemistry data...to assist in the thought exercise of how to improvise a peroxide-based explosive onboard an airplane, using fluids and volumes that won't arouse TSA suspicion.
Poison is the other fun one; the kids are desperate for that inheritance money. Just give it time.
Literally no. None at all.
I teach at University with a big ol' beautiful library. There's a Starbucks in it, so they know there's coffee in it.
But ask my students for "legal ways they can watch the tv show the Office" and the big building with the DVDs and also probably the plans for nuclear weapons and stuff never much comes up.
(Now, individual bad humans leveraging the idea of AI? That may be an issue)
I'll train an AI on this data, and then give it access to all my social media accounts. It can keep me updated on things ..
;)
Out of interest, what does your stack look like to do this and how do you use the information? What front end do you use?
Collect all the things in a big folder. Try to make sure the PDF has a page title.
Mine the data with pdf2txt and other things. ;)
My archive includes lots of juicy nuggets of things I did 20 years ago, and again 10 years ago, and so on. Just mining the data before feeding it to the AI, I'm learning things about myself .. I've returned to some subjects through multiple different paths.
There's also a lot of interesting parallels between the different slashdot, kuro5hin, reddit, HN and lobste.rs epochs. I could probably add an extra training stage where, after analyzing the PDF archive, it also gets access to my still-extant social media accounts.
Frankly, I'm half tempted to just fire up a "RoboTaco 1000 AI" on this, point it at a blog interface, and see how many like-minded souls/AI I can suck into the vortex ..
So you are telling me what's stopping someone from creating Nuclear weapons today is that they don't have the recipe?
No, the OP was coming up with scary sounding things to use AI for to get certain people riled up about it. It doesn't matter if the AI has accurate information to answer the question, if people see it having detailed conversations with anyone about such topics they will want to regulate or ban it. They are just asking for prompts to get that crowd riled up.
The uber smart world ending AI that’s simultaneously lying and hallucinating.
The virtual equivalent to Schroedingers immigrant.
Talking about them is bad for obvious reasons, so I'm not going to give any good examples, but you can probably think of some yourself. Instead, I'll give you a medium example that we have now defended better against. As far as we know, the September 11th hijackers used little more than small knives -- perhaps even ones that were legal to carry in to the cabin -- and mace. To be sure, this is only a medium example, because pilot training made them much more lethal, and an individual probably wouldn't have been as successful as five coordinated men, but the most dangerous resource they had was the idea for the attack, the recipe.
Another deliberately medium example is the Kia Challenge, a recent spate of car thefts that requires only a USB cable and a “recipe”. People have had USB cables all along; it was spreading the infohazard that resulted in the spree.
Getting strong "I'm voting for Trump to own the libtards" vibes here.
Why spend time thinking about the potential impact of policies when you can just piss people off instead?
NousHermes is a bit more creative, and unaligned
So far, no model I tested has shown even Wikipedia-level competence.
https://huggingface.co/models?search=Xwin%2070B
I briefly tried it on my 3090 desktop. I dunno about beating GPT4, but its quite unaligned.
We'll have an AI with a 200+ IQ and millions of children excluded from a good public education because the technocrats redirected funds to vouchers for their own private schools.
We'll have an AI that can design and 3D print any mechanical or electronic device, while billions of people around the world live their entire lives on the brink of starvation because their countries don't have the initial funding to join the developed world - or worse - are subjugated as human automatons to preserve the techno utopia.
We'll have an AI that colonizes the solar system and beyond, extending the human ego as far as the eye can see, with no spiritual understanding behind what it is doing or the effect it has on the natural world or the dignity of the life within it.
I could go on.. forever. My lived experience has been that every technological advance crushes down harder and harder on people like me who are just behind the curve due to past financial mistakes and traumas that are difficult to overcome. Until life becomes a never-ending series of obligations and reactions that grow to consume one's entire psyche. No room left for dreams or any personal endeavor. An inner child bound in chains to serve a harsh reality devoid of all leadership or real progress in improving the human condition.
I really hope I'm wrong. But which has higher odds: UBI or company towns? Free public healthcare or corrupt privatization like Medicare Advantage? Jubilee or one trillionaire who owns the world?
As it stands now, with the direction things are going, I think it's probably already over and we just haven't gotten the memo yet.
Honest and serious question!
This is an interesting idea. For the stubborn and vocal minority of people that insist that LLMs have knowledge and will replace search engines, no amount of evidence or explanation seems to put a dent in their confidence in the future of the software. If people start following chemistry advice from LLMs and consume whatever chemicals they create, the ensuing news coverage about explosions and poisonings might convince people that if they want to make drugs they should just buy/pirate any of Otto Snow’s several books.
That is assuming 8bit weights.
I have not kept up with local LLM news. I assume the steps needed would be somewhat similar to https://followfoxai.substack.com/p/how-to-run-llama-in-an-ol... which is from April 2023.
The backends de joure are either llama.cpp frontends (I use Kobold.cpp at the moment) or oobabooga as the guide specifies, but with the exLlamav2 backend.
If you are serving a bunch of people, run a vLLM backend instead since it supports batching, and host it on the Horde if you are feeling super nice: https://lite.koboldai.net/#
Technically only vLLM will work with this new model at the moment, but I'm sure cpp/ooba support will be added within days.
This comment will probably be obsolete within a month, when llama.cpp gets batching, MLC gets a better frontend, or some other breakthrough happens :P
Also, I give you a model (all models are numbers) and I say it is open source but I don't give you the program and data that resulted in "compilation" of that model (numbers) so is it open source?
Wouldn't it be more of a new word - open use?
The "binary" is the transformers python code, which in this case is essentially llamav2.
Now, the documentation for this model is inexcusably poor. Hot dropping random code on a git repo without one drop of human language would be similarly "open source," but its bad practice, and unfortunately this is the standard in AI Research Land.
I'm not a C coder either, but I don't complain about those projects because they're almost always "config; make; make install". I basically want something like that, but for Python. The nerd-tapdancing required here is ridiculous.
That's just not true. You can get ooba[1] running in no time, which is 100% made for desktop usage. There's also koboldcpp and other solution also made for desktop users. In fact, most LLM communities are dominated by end users who run these LLMs on their desktops to roleplay.
AMD being awful is orthogonal here.
``` <s>[INST]Was ist ein Döner?[/INST] Ein Döner ist eine Gerichtskomposition, die aus einer Schnitzel aus Rindfleisch besteht. Diese wird in einem Pita-Brot zutopfen und mit einem Gemisch von Tomaten, Salat, Zwiebeln, Mayonnaise und anderem abgesalzen. Sie ist ein populäres Gericht in der Türkei und anderen Ländern des Mittelmeers. [end of text] ```
When it downloaded the model it only downloaded about 4GB. Which, for a 7.3B parameter model implies that it's 4-bit quantized. But I don't see that listed anywhere (or an option to use, say, Q8 instead)
If this is the case I'm pretty impressed with a quick tinker, it feels pretty coherent for a 7B @ Q4.
It's on the tags tab: https://ollama.ai/library/mistral/tags
Mistral: "Hi there! How can I assist you today?"
total duration: 2.811067333s load duration: 4.093083ms prompt eval count: 9 token(s) prompt eval duration: 1.999431s prompt eval rate: 4.50 tokens/s eval count: 10 token(s) eval duration: 758.398ms eval rate: 13.19 tokens/s
its pretty dang fast.
I always have issues with LLMs completely forgetting where things are in a scene, or even what parts a given animal has, e.g. saying "hands" when the subject is a quadruped.
I dunno what llm you are using, but a combination of finetuning with a specific prompt structure and good prompt engineering help the LLM stay "logical" like that. This LORA, for instsnce, has specific sections for the different characters in the training dataset: https://huggingface.co/lemonilia/LimaRP-Llama2-13B-v3-EXPERI...
Other than that, higher parameter models (70B, and the "frankenstein" 20B llama models) tend to be better at this.
I just wish there were a way of making these models already perform well on niche tasks like "write this story, except the characters are quadrupeds, and therefore are not human". Like Warriors (the book series, about cats), without having to go and spend weeks curating a dataset of books about non-human characters.
I'm sure that's so much of an ongoing area of research that it goes without saying.
> I dunno what llm you are using
I started with the RWKV family of models before realizing the amount of overfit is so critically unfunny that the model files aren't even on my computer anymore.
Anyway, the best I have found so far is Chronos-Hermes-13B. I believe that's a dedicated roleplaying model. I guess furry roleplays would make good training data, wouldn't it.
Chronos-Hermes-13B itself though is a mildly cursed/degenerate hybrid of two other models that don't really work together properly with the new GGML quantizations, and it's based on the old LLaMA-1 family of models, but I haven't found anything better yet.
Its not SOTA anymore. I dunno what is, but just look at what people are running on Lite:
The new darling seems to Mythos and Xwin-based hybrid models, as well as models with the 70B version of Chronos in them.
Also, see this, specifically the "IQ" metric: https://rentry.co/ayumi_erp_rating
> write this story, except the characters are quadrupeds, and therefore are not human
But the RP models should be able to get this with some prompt engineering. You may have to be repetitive in the instruction block, saying things like "...the characters are not human. All the characters have four feet. All the characters are quadraped animals..." and so on to really emphasize it to the LLM.
I wouldn't be surprised if at least a few contributors in the open source AI community initially got in just because of this aspect
Its more than a few.
The eRP community was apparently going strong before Llama or Stable Diffusion were even a thing, using GTP-J finetunes and some even older base models. Llamav1 was like a Christmas present, and all the UIs and infrastructure were already set up to work on it.
That was a strong motivator for all the work on Stable Diffusion too.
I see no problem with any of this, lol.
It's more that I always pictured AI developers (especially ones that interact with models directly) as these very intelligent, selfless scientists - and not ordinary people who are okay with using these technologies for more "hedonistic" purposes, so to say. Nothing wrong with it obviously, and I'm really interested in seeing where this stuff is headed for in the future.
whistles innocently
Sounds like you're using too small of a model. Try llama 70b.
I got something like 1-2 tokens per second the last time I tried, with CPU offloading and an absolutely offensive page file (32gb).
But yes. I'm aware how laughably insane it is to run a 70b model that way. And that's why I was pointing it out to the commenter who suggested to just run a 70b model instead.
More seriously, using all-CPU is not much faster as my computer only has 16GB of actual memory, which I'm aware is also hugely underspecced for a 70b model, even with memory mapping.
I have a nice NVMe SSD, so there's not much else for me to do here except upgrade my memory or graphics card.
https://huggingface.co/models?sort=modified&search=20B
https://huggingface.co/Kooten/U-Amethyst-20B-3bpw-exl2?not-f...
Even running a quantized and optimized LLM on a smartphone would kill battery life at minimum.
In the future(?), they will probably use the AI blocks instead of the GPU, which are very low power.
* as in matches the token that the larger model would output
They would need the same vocabulary, etc. What else?
As for performance, I'm generally seeing 40-50 tokens/sec per model on a Tesla family Nvidia GPU but I keep multiple models loaded and active at a time so that estimate is probably a bit low for overall throughput (I also realized that our monitoring doesn't have any cumulative GPU token rate metrics just now thanks to this question hahah).
Interesting anecdote others may be interested in... I'm rate limiting the output from our streaming API to 8 tokens/sec to artificially smooth out front-end requests. Interactive users will wait and even prefer seeing the stream of the response, and non-interactive users tend to base their performance expectations on the what the streaming API does. It's kind of sneaky but I'm also artificially slowing down those API requests.
(For clarification the users preference in my original post, is about interactive users preferring to see a stream of tokens coming in rather than waiting for the entire request to complete and having it show up all at once. The performance of that sets the expectation for the time of non-interactive responses.)
I'm not sure how experienced you are in the field but there are kind of two levels of fine-tuning, full fine-tuning (update all the weights of the model, usually requires 2-3x the memory required for inference). This allows you to change and update the knowledge contained inside the model.
If the model has sufficient understanding already of the content of the task and you want to change how it responds, such as to a specific output format, "personality" or "flavor" of output, or to have it already know the kind of task its performing without including those details in the prompt I would go with parameter efficient fine-tuning.
If you're looking to do a one-off train for a model, you might be able to get away with doing it in something like this: https://github.com/oobabooga/text-generation-webui Very easy to use project but it really doesn't allow for the kind of metrics, analysis, or professional grade hosting you'll want.
vLLM can help with the hosting and is really solid once you have the models fine-tuned we tried that at first but its core architecture simply wouldn't work for what we were trying to do which is why we went fully in-house.
Once you get into a lot of fine-tuning, you're probably going to want to do it directly in pytorch or the equivalent for your language of choice. A good resource for seeing how people do this is actually opensource models published on hugging face. Look for some LoRA models, or fine tunes similar to what you'd like. A lot of people publish their training code and datasets on GitHub which can be very useful references.
Right now I'd recommend llama2 as a base model for most general language model based tasks if you don't cross their commercial use threshold (which is very very generous).
Hope this helps!
"what is the speed of sound in a perfect vacuum?"
I'm then told the speed of sound through air of 340m/s.
ChatGPT and Bing correctly give me 0.
---
AI How can I help you today?
You what is the speed of sound in a perfect vacuum?
AI The speed of sound in a perfect vacuum is approximately 340.29 meters per second (1,117.85 feet per second), or about one-third the speed of light. In a real vacuum, the speed of sound would be much lower due to friction between molecules and other factors.
But yeah, accurate trivis has always been a weakness of the the llama models.
How fast does light travel in a vacuum?
The speed of light is 299,792,458 meters per second.
How fast does sound travel in a vacuum?
Then it told me:
Sound cannot travel through a vacuum because there are no molecules to vibrate and transmit the energy from one place to another.
As brucethemoose mentioned, 0 temperature.
But in terms of hardware, it should be very cheap and doable on most 8GB+ Nvidia GPUs, and maybe AMD/Intel GPUs on linux.
A free 7B model is great, however, the practical implications of the potential adaptors are near 0. You must be crazy or have an easy use case (that requires no LLM in the first place) if you certainly believe that this model makes more sense per token that, say, ChatGPT.
I will try to host an instance on the AI Horde later today, which has a better UI and doesn't need a login.
Note that you must switch to instruct mode in the UI, and use the "LLama 2 chat" preset, but you also need a <s> token in the instruction (memory) tab:
https://huggingface.co/mistralai/Mistral-7B-Instruct-v0.1#in...
Or, maybe a finetuned version for your particular dataset?
Of course I have no idea, just speculating
EDIT: I'm speculating they might be just investing some marketing budget into this model, hoping, it would allow for capturing enough target audience to upsell related services in the future
[1]: https://github.com/ggerganov/llama.cpp/pull/3362#issuecommen...
The data pipeline is the source here. Just because it's not locked behind a SaaS veneer doesn't make it open source any more than Windows is.
But the point is that the data pipeline and tensorflow or what have you that trained the model is the source here. The model is the binary.
Some large OEMs get access to Windows Server source code as well.
Microsoft has other mechanisms for sharing source and is remarkably open. The symbol servers are relatively public as well. They are at a scale where they rely more on legal strength to keep their IP rather than it not being externally accessible in the first place, at least for Windows.
> How do I integrate changes to this model that others have made
Typically with a LoRA
I can patch windows and other binaries too (I'm actually pretty decent at that; 20 or so years with IDA/ghidra). That doesn't make them open source.
You do get the ability to further train the model using fine-tuning or LoRas.
> There was no real iteration, you set it up and wait for the GPUs to do the work. The model architecture itself is done before you start training. If you change it, you generally have to start training from scratch.
That's like saying there's no design iteration in software because you type 'make' and the executable is built.
Design iteration of the shape of the model absolutely occurs with partially trained weights however.
There is already a sizable ecosystem of people doing just that: https://huggingface.co/models?sort=modified&search=7B
> Nothing is obfuscated
The dataset and pipeline to rebuild these weights are not included.
This is a good point.
But its probably not deterministic and reproducible. I bet the researchers themselves couldn't remake the exact weights (or even similar weights) from scratch.
However, I've heard from ML engineers at the big shops that hermetic, reproducible builds are key to making any progress at scale with ML. Apparently that goes all the way back to when Jeff Dean took over Google Brain.
Is that how their engineers built this model in the first place?
Just because they're giving the build artifact of there hard work away doesn't make it open source.
> Be ready to throw $70k-$150k into air warming.
Just because builds are expensive, doesn't mean releasing the build artifacts counts as open source.
The source code to the engine is available and open, but if you want to do anything useful or recreate the original game, you have to provide your own data.
This model is open source, much in a similar way that the Doom engine is open source.
> The source code to the engine is available and open, but if you want to do anything useful or recreate the original game, you have to provide your own data.
The Doom executable is open source. The data is not. Explicitly, the data is under a different license than the GPL and makes no claims about being open source. There are total conversion mods that replace the closed source levels with open source ones however.
> This model is open source, much in a similar way that the Doom engine is open source.
Here's the source the engineers that created doom used to build the doom engine: https://github.com/id-Software/DOOM
Where is the source used to build this model?
The source used to train information into the model is elsewhere.
You have the engine. You don't have the source of the data.
> This repository contains minimal code to run our 7B model
If you use only what is open-source about Doom, you will have an unplayable game.
If you use only what is open-source about Mistral, you will have an ineffective model.
It's not nothing.
Are they binaries? I haven't seen a binary in awhile tbh. Usually they're releasing both the raw architecture (i.e. code) and the weights of the models (i.e. what numbers go into what parts of the architecture). The latter is in a readable format that you can generally edit by hand if you wanted to. But even if it was a binary as long as you have the architecture you can always load into the model and decide if you want to probe it (extract values) or modify it by tuning (many methods to do this).
As far as I'm concerned, realistically the only issue here is the standard issue around the open source definition. Does it mean the source is open as available or open as "do what the fuck you want"? I mean it's not like OpenAI is claiming that GPT is open sourced. It's just that Meta did and their source is definitely visible. Fwiw, they are the only major company to do so. Google doesn't open source: they, like OpenAI, use private datasets and private models. I'm more upset at __Open__AI and Google than I am about Meta. To me people are barking up the wrong tree here. (It also feels weird that Meta is the "good guy" here... relatively at least)
Edit: I downloaded their checkpoint. It is the standard "pth" file. This is perfectly readable, it is just a pickle file. I like to use graftr to view checkpoints, but other tools exist (https://github.com/lmnt-com/graftr)
Secondly, is hand editing the pickle file the way Mistral's engineers constructed this pickle file? Why not? The automation that constructed that file (and tokenizer.model) is the source. Binaries in this context can certainly be an ASCII encoded file.
Just because other vendors are worse doesn't make this open source.
The question is am I provided the build source that constructed these files. Mistral did not hand edit these files to construct them, there's source out there that built them.
Like, come on, a 14GB of a dump of mainly numbers that were constructed algorithmically are not "source".
Which is true of traditional software as well. You don't get to call your binary open source just because you have licensed materials in there you can't release.
I know my example is not exactly what is happening here, but the two sound pretty affine to me and there seem to be a fairly blurry line dividing the two... so I would argue that where "this must be included in a open source release" ends and "this does not need to be included in a open source release" starts is not always so cut and dry.
(A variant of this, that happens fairly frequently, is when you find a commit that says something along the lines of "this change was made because it made an internal, non-public workload X% faster"; if the data that measurement is based upon did not exist, or if the workload itself didn't exist, that change wouldn't have been made, or maybe it would have been made differently... so again you end up with logic due to data that is not in the open source release)
If we want to go one step further, we could even ask: what about static assets (e.g. images, photographs, other datasets, etc.) included in a open-source release... maybe I'm dead wrong here, but I have never heard that such assets must themselves be "reproducible from source" (what even is, in this context, the "source" of a photograph?).
That being said, I sure wish the training data used for all of these models was available to everyone...
So if I take a photo of a pretty sunset, release it under MIT license, you'd say it's "not open source" unless I give you the sun and the atmosphere themselves?
These models are perfectly valid things in their own right; the can be fine-tuned or used as parts of other things.
For most of these LLMs (not sure about this one in particular yet) the energy cost in particular of recreation is more than most individuals earn in a lifetime, and the enormous data volume is such that the only people who seriously need this should be copyright lawyers and they should be asking for it to be delivered by station wagon.
It's very nice that they released their build artifacts. It's great that you can take that and make small modifications to it. That doesn't make it open source.
> For most of these LLMs (not sure about this one in particular yet) the energy cost in particular of recreation is more than most individuals earn in a lifetime, and the enormous data volume is such that the only people who seriously need this should be copyright lawyers and they should be asking for it to be delivered by station wagon.
All of that just sounds like reasons why it's not practical to open source it, not reasons why this release was open source.
I could either point out that JPEG is an algorithm, or ask if you can recreate a sunset.
> All of that just sounds like reasons why it's not practical to open source it
No, they're reasons why the stuff you want doesn't matter.
If you can actually afford to create a model of your own, you don't need to ask: the entire internet is right there. Some of it even has explicitly friendly licensing terms.
An LLM with a friendly license is something you can freely integrate into other things which need friendly licensing. That's valuable all by itself.
There's been all sorts of closed source libraries that you can freely integrate for whatever reason. They're not open source either.
Once again, this pickle file is not what's sitting in Mistral's engineer's editors as they go about their day.
Please be clear, we keep asking. What are you asking for? Datasets? Training algo? What?
Comparing it to software artifacts isn't a good comparison when any program with open source code (visible or free to use) is equivalent to what's being given. You have everything you need to use, edit, and fuck around with. You don't have the exact scheme, but I'll put it this way, if you gave me the hardware I could produce a LLM of high quality from scratch using their architecture.
[0] https://github.com/mistralai/mistral-src/blob/main/mistral/m...
It's not what Mistral's engineers edit to create this release. Just like an ELF file is necessarily contains the code flow graph, in a way extractable by experts, but isn't open source because... it's not source.
The open source family of licenses are about freedom. If I’m not given the tools to recreate a model, then I’m not afforded the freedoms normally associated with these open licenses. Really there’s little difference between Apache and CC-BY here.
You've gotta give me the stuff you used to make it, the stuff you'd want to have if you wanted to recreate a slightly different version of the photo ("in the preferred form for making modifications", as the GPL says). If you just snapped a photo of whatever you saw with whatever camera was in your pocket, then there's nothing else to publish. But if you figured out a timetable of when you should stand where with what kind of lens, then making your photo open-source would mean publishing that timetable.
> These models are perfectly valid things in their own right; the can be fine-tuned or used as parts of other things.
If the original creator can edit them, and you can't, then that's not open-source; fine-tuning is a help but someone who can only fine-tune is still a second-class user compared to the original developer. The whole point of open source is to put you on an equal footing with the original developer (in particular, to make sure that you can fix bugs by yourself and are never stuck waiting for them to release an update that you need).
The MIT license doesn't distinguish between binaries and source, but the GPL does. The GPL defines source code as:
> The “source code” for a work means the preferred form of the work for making modifications to it. “Object code” means any non-source form of a work.
What is the preferred form of an LLM for making modifications to it?
Phorographs are not source code, are not computer code at all, and do not have a close analog to source code. Calling them “open source” is, at best, a poor and distant metaphor in any case, and so they aren't a useful model for discussing what open source means for software.
There's a very reasonable argument that model weights are an IL or object-code like artifact with training data and training source code together as the source code.
That doesn't change that the MIT license is an open source license, but when what you release under that license isn’t the whole source aoplicable to the model, but just inference and maybe training code but not the data needed to produce the weights, and final weights, then it is fair to question whether as a whole the model is open source.
Open source as a concept doesn't really apply to quite a lot of things. Your MIT-licensed photograph is "not open source" in the same way that `{} * {}` is "not a number" (it technically isn't, but that's not quite what NaN is supposed to mean).
How did the engineers who built it do so? Is there more source to create this build artifact?
Yeah, probably. But depends on what you're asking. In the exact same method to get the exact same results down to epsilon error? (Again, ML models are not deterministic) Probably not. This honestly can even change with a different version of pytorch, but yes, knowing the HPs would help get closer.
But to train another 7B model of the __exact__ same architecture? Yeah, definitely they've provided all you need for that. You can take this model and train it from scratch on any data you want and train it in any way you want.
Also, wrt
> Again, ML models are not deterministic)
ML models are absolutely deterministic if you have the discipline to do so (which is necessary at higher scale ML work when hardware is stochastically flaky).
I regard the distinction as meaningless and haven't heard a good reason as why I should reconsider when the process behind creating the weights is so integral to the overall engineering process here.
To quote stallman
> The "source code" for a work means the preferred form of the work for making modifications to it
That’s what this is. This is not a work that produces weights. So the code related to making weights would not be the source code of this project. It would be the source code of the tools used to make this project.
This is evidenced by the fact that if Mistral's engineers had to make modifications to this model, they would use other code to do so. This model is not the "preferred form of the work for making modifications to it", but simply the best we have in a world that isn't used open sourcing these models.
It’s a PyTorch model. There is no secret internal code required to interact with it. You can write whatever you want. Unless you’re implying that in order to call this model open source they need to get all of PyTorch on the same license. You can write whatever you want to edit the weights.
Open source does not require babysit walking people through the basic competency steps of understanding how the tools of this domain work.
This model is 100% the preferred form of work for making modifications to it as evidenced by the large community oriented around sharing and adapting models from exactly this format.
And no, I’m calling you for changing your argument again. You were saying dumb shit about how they needed to open source all the data needed to train this thing from scratch, which is another wildly different argument.
Do the engineers that made this hand edit this file? Or did they have other source that they used and this is the build product?
> (Also, it feels a bit "looking a gift horse in the mouth" to criticize people who are giving away a cutting-edge model that can be used freely.)
Windows was free for a year. Did that make it open source?
Do any open source product provide all the tools used to make software? I haven't seen the linux kernel included in any other open source product and that'd quite frankly be insane. As well as including vim/emacs, gcc, gdb, X11, etc.
But I do agree that training data is more important than those things. But you need to be clear about that because people aren't understanding what you're getting at. Don't get mad, refine your communication.
> Windows was free for a year. Did that make it open source?
Windows didn't attach an Apache-2.0 license to it. This license makes this version of the code perpetually open source. They can change the license later, but it will not back apply to previous versions. Sorry, but this is just a terrible comparison. Free isn't what makes a thing "open source." Which let's be clear, is a fuzzy definition too.
> This license makes this version of the code perpetually open source.
It doesn't because they didn't release the source.
There's nothing stopping me from attaching an Apache 2 license to a shared library I never give the source out to. That also would not be an open source release. There has to be actual source involved.
The answer to your question is that code stored as a binary is not different from code stored as text. Pickled models are code.
You're missing my point. Obviously you can't release someone else's IP under whatever license you see fit.
You can release your own binary under Apache 2. Doing so without releasing the source doesn't make it open source despite being an open source license.
> The answer to your question is that code stored as a binary is not different from code stored as text. Pickled models are code.
I'm not saying it's not code; I'm saying it's not source.
The data used to derive this model is not different from the brain and worldly observations and learnings of the engineers, which are not part of any open source materials.
Code generated with tools is still code. This code is the source. The output of the code is the output. Monocasa is failing to understand or perhaps intentionally not understanding the difference. In some contexts a “compiled release” implies an output that is largely immutable for practical purposes. That is not what this is. It’s technically a binary object, but it’s a binary object you can easily unpack to get executable code that you can read and edit. It is a convenient format different from classical text code. The fact that it’s a binary is completely irrelevant. It’s akin to arguing that code that is provided in a zip file cannot be open source. Both because it’s a compressed file and because it doesn’t include the compression algorithm.
With that understood, demanding the “tools” that were used to create the code is like asking for the engineers’ notebooks of design thoughts along the way. It has no bearing on your ability to use or modify it. This is not an open source project to make neural nets. This an open source project of a neural net.
If someone releases math_funcs.py, you don’t need anything about the tools that were used to create math_funcs.py to consider it open source.
There is no expectation to include vim, or any tools required to create a codebase. We agree. And that’s why this repo is sufficient. Asking for the tooling that was used to make this project would be out of scope and unreasonable.
This is a repo that can be used to make predictions. It is not a repo that is used to make models.
c++ source -> photoshop -> images
source we're asking for -> the repo you're talking about -> predictions
You can ask all you want but that is irrelevant as to whether it is open source. If photoshop were open source, the c++ code would need to be available. Not the tooling used to make the c++ code. The c++ code is equivalent to the model. Not the separate pythoj codebase that was involved in making it.
Which is some BSD PyTorch + PyTorch calling code that anyone competent in the field can implement any number of ways and is not special to this output.
There's a pretty good definition of open source at OSI [0], point of 2 of which is (emphasis mine):
"The program must include source code, and must allow distribution in source code as well as compiled form. Where some form of a product is not distributed with source code, there must be a well-publicized means of obtaining the source code for no more than a reasonable reproduction cost, preferably downloading via the Internet without charge. The source code must be the preferred form in which a programmer would modify the program. Deliberately obfuscated source code is not allowed. Intermediate forms such as the output of a preprocessor or translator are not allowed."
You can't bump the window on what "program" means. "Program" here doesn't mean "predictions", that's the output of the program. If you had a program that generated images, you wouldn't say that that program was the source code of the images. You would say that that program generates images and has source code.
This just isn't an open source release. It's freely released to the public, but it doesn't contain the source used to create or modify it.
> Which is some BSD PyTorch + PyTorch calling code that anyone competent in the field can implement any number of ways and is not special to this output.
It then seems trivial to release it.
My dude… you have no idea what you’re talking about.
The picked model is the preferred way to interact and modify it. It is the source code. It is not like a compiled program. It is literally code.
I am NOT claiming the predictions are the program. I am saying the pickled model is. You 100% don’t need anything else to do anything more with the model.
I don’t know or care if they released their model generating code but nobody competent who understands what they are talking about cares about this.
It’s pickled because it’s big. Just imagine this as a zip containing algo.py
BSD traditionally comes as a full set of source for the whole OS, it's hardly insane.
But the point is you don't need those things to work on Linux - you can use your own preferred editor, compiler, debugger, ... - and you can work on things that aren't Linux with those things. Calling something "open source" if you can only work on it with proprietary tools would be very dubious (admittedly some people do), and calling a project open source when the missing piece you need to work on it is not a general-purpose tool at all but a component that's only used for building this project is an outright falsehood.
It's necessary if you want to rebuild the weights/factors/whatever the current terminology is, which are a major part of what they're shipping. If they found a major bug in this release, the fix might involve re-running the training process, and currently that's something that they can do and we users can't.
> I mean we aren't calling PyTorch "not open source" because they didn't provide source code for vim and VS code.
You can build the exact same PyTorch by using emacs, or notepad, or what have you, and those are standard tools that you can find all over the place and use for all sorts of things. If you want to fix a bug in PyTorch, you can edit it with any editor you like, re-run the build process, and be confident that the only thing that changed is the thing you changed.
You can't rebuild this model without their training parameters and data. Like maybe you could run the same process with an off-the-shelf training dataset, but you'd get a very different result from the thing that they've released - the whole point of the thing they've released is that it has the weights that they've "compiled" through this training process. If you've built a system on top of this model, and you want to fix a bug in it, that's not going to be good enough - without having access to the same training dataset, there's no way for you to produce "this model, but with this particular problem fixed".
(And sure, maybe you could try to work around with finetuning, or manually patch the binary weights, but that's similar to how people will patch binaries to fix bugs in proprietary software - yes it's possible, but the point of open source is to make it easier)
As a researcher I want to know the HPs and datasets used, but they honestly aren't that important for usage. You're right that to "debug" them one method would be to retrain from scratch. But more likely is doing tuning, reinforcement learning, or using a LoRA. Even the company engineers would look at those routes before they looked at retraining from scratch. Most of the NLP research world is using pretrained models these days (I don't like this tbh, but that's a different discussion all together). Only a handful of companies are actually training models. And I mean companies, I don't mean academics. Academics don't have the resources (unless partnering), and without digressing too much, the benchmarkism is severely limiting the ability for academics to be academics. Models are insanely hard to evaluate, especially after RLHF'd to all hell.
> (And sure, maybe you could try to work around with finetuning, or manually patch the binary weights, but that's similar to how people will patch binaries to fix bugs in proprietary software - yes it's possible, but the point of open source is to make it easier)
The truth is that this is how most ML refinement is happening these days. If you want better refinement we have to have that other discussion.
I don't know about ML specifically, but I've seen a number of projects where people publish supposedly "the source" for something and it doesn't actually build. IMO if they're doing it wilfully that makes not open source, whereas if it's just good-faith legitimate incompetence then it can be.
(My litmus test would be: are they giving you all the stuff they'd give to a new hire/assistant working with them? If they've got a "how to build" on their internal wiki with a bunch of steps they're keeping secret, then it's not open-source. But if the process for a new hire is to hand over a code dump and say "huh, it works on my machine, I don't remember what I did to set it up", then at that point I'd consider it open source. I think this aligns with the "preferred form for making modifications" idea in the licenses).
> But more likely is doing tuning, reinforcement learning, or using a LoRA. Even the company engineers would look at those routes before they looked at retraining from scratch.
Sure. But they'd have that capability in their back pocket for if they needed it. It's a similar story for e.g. parts of the Linux kernel code that are generated via a perl script based on the architecture documentation - you only actually re-run that perl script once in a blue moon, but it's important that they publish the perl script and not just the C that was generated by it.
I'm fairly happy with the license terms too. They're just not open source. We dilute the term open source for the worst if we allow it to apply to build artifacts for some reason.
Source code licenses are naturally quite clear about what constitutes "source code", but things are murkier when it comes to ML models, training data, and associated software infrastructure, which brings up some interesting questions.
Your gift horse in the mouth comment was visibly an aside in the greater discussion being enclosed in parenthesis.
> Nobody would argue that a hypothetical openly licensed Windows binary-only release is "open source" and I'd appreciate it if you read my comments more charitably in future.
That's why I'm using it as an example metaphor in my favor. It's clearly not open source even if they released it under Apache 2. It's not what their engineers edit before building it.
> Source code licenses are naturally quite clear about what constitutes "source code", but things are murkier when it comes to ML models, training data, and associated software infrastructure, which brings up some interesting questions.
I don't think they're all that murky here. The generally accepted definition being
> The “source code” for a work means the preferred form of the work for making modifications to it. “Object code” means any non-source form of a work.
Is this the form of the work that Mistral's engineers work in? Or is there another form of the work that they do their job in and used to build these set of files that they're releasing?
https://github.com/MiSTer-devel/PSX_MiSTer
Only one man in the world of capable of creating or editing this code, not it's here.
Is it really open source of Robert doesn't provide his brain too?
Robert has provided that there. Mistral has not.
As an aside, I'm more than capable of editing that code; I've professionally worked on FPGA code and have written a PS1 emulator. Taking that (wonderful looking code) and say, fixing a bug, adding a different interface for the cdrom, porting it to a new FPGA are all things I'm more than capable of.
I'm sorry, but what do you expect? Literally all code is "a bunch of numbers" when you get down to it. Realistically we're just talking about if the code/data is 1) able to be read through common tools and common formats and 2) can we edit, explore, and investigate it. The answer to both these questions is yes. Any parametric mathematical model is defined by its weights as well as its computational graph. They certainly provide both of these.
What are we missing? The only thing that is missing here is the training data. That means of course that you could not reproduce the results were you to also have tens of thousands to millions of dollars to do so. Which if you're complaining about that then I agree, but this is very different from what you've said above. They shouldn't be providing the dataset, but they should be at least telling us what they used and how they used it. I would agree that it's not full "open source" when the the datasets are unknown and/or unavailable (for all intents and purposes, identical). The "recipe" is missing, yes, but this is very different from what you're saying. So if there's miscommunication then let's communicate better instead of getting upset at one another. Because 14G of a bunch of algorithmically constructed numbers and a few text tiles is definitely all you need to use, edit, and/or modify the work.
Edit: I should also add that they don't provide any training details. This model is __difficult__ to reproduce. Not impossible, but definitely would be difficult. (within some epsilon, because models are not trained in deterministic manners, so training something in identical ways twice usually ends up with different results)
I expect that if you call a release "open source", it's, you know, source. That their engineers used to build the release. What Mistral's engineers edit and collate as their day job.
> The "recipe" is missing, yes, but this is very different from what you're saying.
The "recipe" is what we generally call source.
> So if there's miscommunication then let's communicate better instead of getting upset at one another.
Who's getting upset here? I'm simply calling for not diluting a term. A free, permissive, binary release is great. It's just not open source.
> Because 14G of a bunch of algorithmically constructed numbers and a few text tiles is definitely all you need to use, edit, and/or modify the work.
Just like my Windows install ISO from when they were giving windows licenses away from free.
Not really. At least not in normal software. The recipe is honestly only really interesting to researchers (like me). But for building and production stuff, you have everything you need.
> Just like my Windows install ISO from when they were giving windows licenses away from free.
I repeat, a free windows ISO doesn't have an Apache license attached. This is an inane comparison.
Yes, in normal software, the 'recipe' used to create the build artifacts is the source.
> The recipe is honestly only really interesting to researchers (like me). But for building and production stuff, you have everything you need.
A lot of excuses about why it's not useful to a lot of people and that you don't actually need it to use it in production is exactly the argument made for why not open sourcing is ok. That doesn't mean this is a source release, open or otherwise.
> I repeat, a free windows ISO doesn't have an Apache license attached. This is an inane comparison.
Even if the Windows binary iso was released with an Apache license, it wouldn't be open source since no actual source was released. That's the point of that line of argument.
> Source code for a work means the preferred form of the work for making modifications to it.
I wouldn't really have a complaint with their source being released as Apache 2. I just don't want the term "open source" diluted to including just a release of build artifacts.
Is this not a BPE+sentencepiece? It is quite usual practice when you do the training or even prepare the data with fairseq ...
EDIT: I mean it will be a binary file for the tokenizer model after all but I see no problem here ...
And it doesn't matter much if it's perfectly deterministic. Source builds of traditional software aren't typically fully reproducible either. That doesn't change
And I give you better than coin flip odds that it is actually deterministic. The engineers at the big ML shops I've had conversations with have been doing deterministic training for quite some; they believed it was key to training at scale. That's what gives you the "did this model go way off the deep end because of something we did in the model, or because a training GPU is on the fritz".
That's the definition in the GPL. That it is text or binary doesn't matter.
So are the weights the preferred form for making modifications? Partly yes, because of fine tuning, but also no, because you are limited in what you can do with fine tuning. If Mistral had to make major changes to their model, they would probably start with the dataset and code they have but you don't, the one that created the weights file.
So I wouldn't call it "open source", just "open". You can do whatever you want with what you have, but you don't have the same abilities as Mistral to modify the model because you lack some data.
Still, it is a bit of an unusual situation since even with the "real sources", i.e. training data and code, most people wouldn't have the resources to retrain the model, and a big part of the value in these models is the computing resources that were invested in training them.
Or are they directly executing CPU instructions?
I wonder how they might benefit from retconning the notion of open source to fit the ways they're describing models now. At this point it seems bad faith in more than just a naive way.
Given that a released base model allows things like fine tuning, generating your own training sets, and so on, it's not obviously closed source in the way the poster is acting like it is. Releasing the full training data and reproduction pipeline would be "more" open source, but having the raw, non RLHF'ed model is extremely open compared to most alternatives beyond that.
Open source would mean what the engineers who work on this build artifact edit. This is clearly not that.
This is 'more open' than other releases, yes. That doesn't mean it reaches the bar of what 'open source' means.
I don't know how to respond to these lines of reasoning anymore except to say that words mean things and it's worth keeping definitions consistent for the sake of our common understanding.
I don't know what's going on in this discussion thread, as to whether you are being gaslit or engaging with people who shouldn't comment.
In essence the output of the training pipeline is "data" (weights), not code. The way those data are read to make things work is the "model". In the (bad) analogy of the JPEG, the data is the coefficients and the model is the encoding/decoding scheme.
I'm impressed by the patience monocasa has in the face of so many (seemingly intentionally) obtuse responses.
The difference is though, here compiling from source is prohibitively expensive for the average person. And the source is massive.
Also, being able to reverse-engineer the precise build process is an orthogonal concern to having the source code available.
https://github.com/huggingface/transformers/blob/main/src/tr...
So ... WTF is Mistral 7B anyway? The article doesn't appear to show this basic information anywhere. You'd expect a website site like this to give that information right up front. Even in a well-signposted sub-page. And what sort of things could I use it for?
The only 'Mistral' that sprang quickly to mind for me was an electric fan. Followed by the French wind itself, and then the French ships built for the Russians.
'Mistral 7B' has an identity crisis, to start with.
"Mistral AI team is proud to release Mistral 7B, the most powerful language model for its size to date.
Mistral 7B is a 7.3B parameter model that...."
So, it's a powerful language model that has 7.3B (billion) parameters.
If you've been away long enough to not know what that means, this release article isn't going to be for you anyway, and so you may want to start with reading up on what a Large Language Model is and can do, how they have developed in the last few years, and then go from there.