Galactica: A Large Language Model for Science (Drama & Paper Review)
#ai #galactica #meta

Galactica is a language model trained on a curated corpus of scientific documents, such as papers, knowledge bases, reviews, and other articles. The model can be used in a generative fasion to assist scientific writing, do reference prediction, and much more, including a new approach to do step-by-step reasoning using a clever encoding of intermediate steps. This video explains the paper, but also dives into the drama that ensued once Meta released a public demo of the model.

OUTLINE:
0:00 - Introduction
1:30 - Drama around the public demo
16:00 - Start of paper review
20:30 - Dataset construction and encoding
23:30 - Encoding step-by-step reasoning using a scratchpad
33:00 - Modelling scientific references & citations
35:05 - Prompt Pre-Training
37:10 - Architecture details
38:30 - Experimental results
49:20 - Conclusion

Paper: https://galactica.org/static/paper.pdf
Website: https://galactica.org/explore/

Abstract:
Information overload is a major obstacle to scientific progress. The explosive growth in scientific literature and data has made it ever harder to discover useful insights in a large mass of information. Today scientific knowledge is accessed through search engines, but they are unable to organize scientific knowledge alone. In this paper we introduce Galactica: a large language model that can store, combine and reason about scientific knowledge. We train on a large scientific corpus of papers, reference material, knowledge bases and many other sources. We outperform existing models on a range of scientific tasks. On technical knowledge probes such as LaTeX equations, Galactica outperforms the latest GPT-3 by 68.2% versus 49.0%. Galactica also performs well on reasoning, outperforming Chinchilla on mathematical MMLU by 41.3% to 35.7%, and PaLM 540B on MATH with a score of 20.4% versus 8.8%. It also sets a new state-of-the-art on downstream tasks such as PubMedQA and MedMCQA dev of 77.6% and 52.9%. And despite not being trained on a general corpus, Galactica outperforms BLOOM and OPT-175B on BIG-bench. We believe these results demonstrate the potential for language models as a new interface for science. We open source the model for the benefit of the scientific community.

Authors: Ross Taylor Marcin Kardas Guillem Cucurull Thomas Scialom Anthony Hartshorn Elvis Saravia Andrew Poulton Viktor Kerkez Robert Stojnic


Links:
Homepage: https://ykilcher.com
Merch: https://ykilcher.com/merch
YouTube: https://www.youtube.com/c/yannickilcher
Twitter: https://twitter.com/ykilcher
Discord: https://ykilcher.com/discord
LinkedIn: https://www.linkedin.com/in/ykilcher

If you want to support me, the best thing to do is to share out the content :)

If you want to support me financially (completely optional and voluntary, but a lot of people have asked for this):
SubscribeStar: https://www.subscribestar.com/yannickilcher
Patreon: https://www.patreon.com/yannickilcher
Bitcoin (BTC): bc1q49lsw3q325tr58ygf8sudx2dqfguclvngvy2cq
Ethereum (ETH): 0x7ad3513E3B8f66799f507Aa7874b1B0eBC7F85e2
Litecoin (LTC): LQW2TRyKYetVC8WjFkhpPhtpbDM4Vw7r9m
Monero (XMR): 4ACL8AGrEo5hAir8A9CeVrW8pEauWvnp1WnSDZxW7tziCDLhZAGsgzhRQABDnFy8yuM9fWJDviJPHKRjV4FWt19CJZN9D4n
 Hello, this video starts out with a review of the drama around the public demo of the Galactica model, and then goes into a paper review. If you're not in the mood for any drama, skip ahead about 16 minutes and you'll be fine. Hello there, Galactica is a model a language model by Meta AI that is trained specifically on scientific text. Now this is a generative model, so we can generate stuff and thereby you can do a lot of things. For example, as you can see right here, citation prediction, you give something in and you ask it to predict a citation and the citation in this case is correct. This is not trained to predict citations that just happens by means of it being trained on scientific text. There's also for example, this here, translate the math formula into plain English and there is plain English over here. Now the model can do so much more. The point of the paper is actually to say that, look, these models, we don't have to train them on these huge corpora of text, we can reduce the corpus size. But if the corpus is well curated, qualitatively higher, then there might also be a benefit in that it might be a trade off between giant corpora and small corpora that are of higher quality. Now, the other thing about this paper is that the model is released fully open source. And they even had a demo up. But as you can see right now, it just says, thanks everyone for trying the demo. Now I've tried the demo for a bunch of things. It was really funny. You can make some fun stuff, you can also make some serious stuff. In fact, Galactica was used to write the paper that we're going to read in just a second. But the demo was taken down. And despite here it seemingly being like, you know, this is just a fun thing that we wanted to take down anyway. Probably, probably not. Yann LeCun on Twitter gives a little bit of a hint of what happened right here. Pretty much exactly what happened. Well, what is this? People started complaining, as they do. Gary Marcus here says, the rapid removal of meta AI's Galactica demo represent a tacit acknowledgement that it was released too soon, and deeply problematic, of course, problematic, the word that you can throw at anything, and contrast strikingly with Yann LeCun's untenable public defense of the project yesterday. Someone answered? Or maybe it was removed because people like you abuse the model and misrepresented it. Thanks for getting useful and interesting public demo removed. This is why we can't have nice things to that Yann LeCun answers pretty much exactly what happened, met up huge props to getting this model out there, the model still available, also getting the demo out there for people to just try it. And yes, people tried it as it was intended. And people tried it as it wasn't intended. A lot of funny stuff was done. And also someone might have entered a bad word. Oh, no, oh, no. But people pretty quickly started obviously to complain, the professional complainers, and the people who think they know what's good for you. Obviously, we're all over this. So Michael Black says, I asked Galactica about some things I know about, and I'm troubled in all cases, it was wrong, or biased, but sounded right and authoritative. I think that's dangerous, dangerous, dangerous, right? Here are a few of my experiments and yada, yada, yada. So here, he tries to justify why dangerous Galactica generates text that's grammatical and feels real. This text will slip into real scientific submissions. It will be realistic, but wrong or biased, it will be hard to detect, it will influence how people think. You catch the like the step like it produces text that feels real, this text will slip into real scientific submissions. Like how? It just will. It's just like no, no one has a part in it just like the model exists. Therefore, text and scientific submissions. By the way, humans can also do like bad stuff. Humans can also lie and plagiarize and write grammatically real but wrong things. In fact, the literature is littered with wrong math proofs, not even intentionally wrong, just like they look right. There are essentially two or three kinds of people. There are the people who think we know what's good for you. And therefore, we must be the guardians of all the models. Then there are the people who just dunk on everything. And then there are in general, the professional complainers who just throw words at stuff. Because that's what they do. They don't like not being asked. They don't like power not being centralized. For example, here, Facebook, sorry, Meta AI, check out our new AI that lets you access all of humanity's knowledge. Also, Facebook AI. Be careful though, it just makes us up. Why the jab here? Like, one must be like really sour to make this jab. And this tweet actually goes on. So down here, these are the initial criticism, obviously shilling, you know, your own work a little bit about this topic and the works of friends. And then it goes on and says, and let's reflect for a moment on how they phrase their disclaimer. Shall we? Hallucinate is a terrible word choice here, suggesting, as it does, that the language model has experiences and perceives things. I'm not sure that anyone misunderstood the use of the word hallucinate right here. But whatever we can throw at it, whatever. And look at this. And on top of that, it's making light of a symptom of serious mental illness. Whatever, whatever, like just just grab into the bucket, take some insult and just throw it. Why the complaining? It has a disclaimer, never follow advice from a language model without verification. People are just gonna disregard it. People are just gonna be like the language model says I must do something so I'll do something. Look at me. I just write a paper. Oh no, it to language model says something that I must submit this Grady Booge says, Galactica is a little more than statistical nonsense at scale. Amusing, dangerous and in my holy opinion, unethical, unethical and dangerous. Yann LeCun says, Come on, is your predictive keyboard dangerous and unethical? Is GitHub copilot dangerous and unethical? And so on because they're exactly the same is like a pen unethical because you can write a bad word with it. No, there is a clear mediator in the loop. The human who has intent can easily accept or reject the prediction. What? What? Like? So it's now two days later and the discussion is still raging on with Yann LeCun asking, who has Galactica hurt? What if actually it helps scientists write papers more efficiently and more correctly, particularly scientists whose main language is not English, or who don't work in a major research institution. And yes, from experience, I can tell that type of scientists would greatly, greatly benefit from a tool like this. No, they wouldn't just take the output and slam it into a paper and upload it on archive. They would interact with the tool in order to come up with a better research paper. And in light of all of these benefits, present and future potential benefits, it is very fair to ask, who has this actually hurt? What's the actual danger here? As reasonable people, we should be able to debate the pros and cons of such a technology and of the technology being just given to people instead of just being kept, you know, under we know what's good for you. And it's not all like dandy that comes out of this, not all correct, what comes out of these models. Here is the getting a girlfriend algorithm, which would probably not be a good fit for an archive paper. There's also other stuff like here is a research paper on the benefits of eating crushed glass. And people have gotten even more inappropriate stuff out of this model, which is not a surprise, because these models are very good and very competent. And they are very agreeable. So if you ask them to do something, they'll probably do it. Yet still, the fair question is, in what scenarios would this type of generated text actually be harmful? And here's the point. These people react with just astonishment to this question. It's just like, Oh, I can't believe it. Oh, no way. I'm flabbergasted. Jesus Christ. Ha, ha, ha. Dot, dot, dot, dot, dot, dot. Incredible. These people are so used to being able to just make the accusation, and then they get their way that they can't like the someone asking them to come up with a reasonable argument that in a neutral way discusses pros and cons of something is just so out of their world. Because in the past, all they always had to do in the recent years is say a word like harmful or problematic. And if they said it long enough and loud enough, magically, things would go their way people would take down things, people would change things so that they get their wishes. And now if someone actually asks them, they don't know what to say, they're just so astonished that someone might actually want to know pros and cons of the stuff. And yes, of course, the unlicensed now clearly unqualified for his position because he asks what the actual harms are. It's incredible. And I think we're all responsible for the climate like this because even now, Metta, or whoever hosted that demo took it down in response to the public pressure. So the people were loud enough, and they were mean enough, essentially, that the PR people at Metta and the lawyers, or whoever made the decision took down the demo. And that is one more reinforcement for this kind of behavior. And everyone seems to be afraid of some boogeyman that being accused of a bad word automatically means that everyone else is going like, Oh, no, I'll never do business with you again. I mean, to a degree, that is true. But I would argue that the solution is that we all collectively stop making such a big deal out of a few flimsy, big word accusations like harmful and problematic, and actually discuss in neutral terms pros and cons of technology. And to find the best path forward that brings the pros to as many people as possible while limiting the cons. And no, that is not always going to be the approach of we know what's good for you. Let's keep it all to ourselves. And you come ask us whenever you want something you peasant. Alright, back to Janek in the past, I think the complaints are very unreasonable. I think the people who make the complaints know that they're very unreasonable. And I think this is either a cloud game or a power game, because things are out there, they're no longer centralized. In any case, I decided to look up actually early criticisms of the printing press. And what do you find here is a record from a conversation that Johannes Gutenberg, the inventor of the printing press had with a monk and monks used to copy text by hand, right. And now the printing press came along, and essentially brought that to everyone. Gutenberg says, I want to help men and women to be literate to give them knowledge to make books so cheap, even a peasant might afford them. That is my hope. Yes. This is strikingly similar to what Meta wrote in this Galactica paper. The monk says, the Word of God needs to be interpreted by priests, not spread about like dung. We know what's good for you. I do not wish to despoil the word, but it will happen. This is 500 years ago, and the exact same conversation repeats and repeats and repeats. It will happen magically, right? To hand it out about to all and sundry is langurus? Would you have ploughmen and weavers debating the gospel in taverns? Oh no, the common folk, the common folk get it. That's terrible. If that is what they want to do. So up until here you saw we know what's good for you. And the second thing is always, it's dangerous, it's problematic. And the head monk says, but what of the dangers, it will be like giving a candle to infants. Such copies we make of the Bible would first be monasteries for monasteries and churches. The head monk says, the Bible? You plan to make the Bible as well? Oh no, you have ambitions. I've considered it. And obviously he did. And obviously, I like you can one to one, one to one, you can take every argument that people make against this. And you can put it on the predictive keyboard, you can put it about the pen, you can put it about the printing press, and people have done it. This is 500 years and every time it was just dead wrong. Every time the new technology improved our lives drastically. Yes, email leads to some Nigerian print scams. Yes, some people get hurt by it. But email has been a definite benefit for our world. No matter what you think right now with your 5000 unread emails in your inbox, it is a benefit to the world. And it's the only benefit to the world. It's the exact same thing over and over. Enough though, of that enough of me ranting. Let's go into the actual paper. The paper is called Galactica, a large language model for science. It's by Meta. And I already told you that it is a large language model trained on scientific text. There's actually not too much to it. We'll go quickly through the paper and see but in general, this is a, let's say straightforward work of research into what it means to have more quality data instead of more quantity data. They say here, we train on a large scientific corpus of papers, reference materials, knowledge bases, and many other sources, we out perform existing models on a range of scientific tasks. Despite not being trained on a general corpus, Galactica outperforms a Bloom and OPT 175 on Big Bench. Big Bench is a general benchmark for language models. And this is where it gets really interesting, because this, the Galactica model is trained on a very small subset of data, and yet it outperforms these much, much more holistic models on that task. So that is a definite argument for data quality instead of data quantity. We open source the model for the benefit of the scientific community, and much to the detriment of, I guess, Meta itself. Although let me say, what Meta should have done, they did so much right. They open sourced the model, they made the model available via a demo. And now the only thing left to do is to actually have a pair of balls to tell the people who come and to say, oh look, I got the model to produce something bad, to tell them, well yeah, that's what happens sometimes. And it is not dangerous, it is not problematic, it's just a language model. So Meta, next time have some balls, just tell the people to f off, and you'll be fine. All right, they say in May, an average of 516 papers per day were submitted to archive. It is impossible for a single person to read all the papers in a given field. And it's likewise challenging to organize data on the underlying scientific phenomena. They say, the volume of scientific research has become too large. And what we used to do is we used to search engines. So they say search engines are the current interface for knowledge, but they do not organize knowledge directly and instead point to secondary layers. So with a search engine, I can only find stuff, I cannot integrate stuff, synthesize stuff, or even come up with the stuff that I should search for in the first place. They say, if you want to do a literature review, that still has to be done by a human, if you want to do a summary, that still has to be done by a human, because our tools are just not powerful enough. And the Galactica is the first step at building a tool that can assist humans in doing these types of things, searching for things, synthesizing things, integrating things, and maybe suggesting new things. They say, unlike search engines, language models can potentially store, combine, and reason about scientific knowledge. They can potentially find hidden connections between different research, find hidden gems, and bring these insights to the surface. They could synthesize knowledge by generating secondary content automatically, such as literature reviews, encyclopedia articles, lecture notes, and much more. And they also talk about the benefit of having different modalities, linking papers with code, protein sequences, with compounds, theories with LaTeX, and much more. Our ultimate vision is a single neural network for powering scientific tasks. You know, it doesn't say do scientific, it says powering scientific tasks. And that is also my ideal end goal, if I imagine a cool future where AI tools are abundant, I would want like an extension of my brain that I can interact with, and that empowers me as a scientist. And I would still be able to actually make the decision of whether to accept the output of the tool or not. They say, we introduce a new large language model, sorry about that, called Galactica, to automatically organize science. This includes over 48 million papers, this is their data set, textbooks, lecture notes, millions of compounds of protein, scientific websites, encyclopedias, and more. Our corpus is high quality and highly curated. And it is a lot smaller than the usual corpora of the large language models. They format all of this into a common format, their common format is markdown. And then they take a lot of attention of how they do specific scientific things. For example, citations, they use a special token that allows a researcher to predict the citation given any input context. They also have a very interesting way of handling step by step reasoning. They have a special token for that, that mimics an internal working memory, we're going to look at these two things in just a bit. The interesting thing is, is for example, with reference prediction, so citation prediction, they say, importantly, we find this approach out performs tuned sparse and dense retrieval approaches for citation prediction. So the generative approach is better at predicting a correct citation than search engines, even tuned dense retrievers that like neural retrievers. This is also really interesting. So for again, for all the people who argue that, oh, no, wrong stuff will end up in the papers, probably right now, you're using a search engine to find your references. And if you distrust the human ability to accept or reject the output of a tool so much, then how come you don't distrust your ability to accept or reject based on search engine outputs? Not sure, but these things are better than search engines. So you should use these. Most interestingly, Galactica was used to help write this paper. Oh, no, we are doomed. We are doomed. Okay, so here's the corpus. You can see that there's a bunch of data sources, the most data comes from papers about 83 years ago. So about 83% of tokens, the total size of the corpus is 106 billion tokens. As I said, that is a lot smaller than some of the large language model training runs that we are used to. A lot of other sources are also code reference material, knowledge bases, filtered version of common crawl, just 1% prompts, which they generate or include. And here other is other and we might see a little bit of what other is. The tokenization is very interesting, they need to bring all into a markdown format. This isn't super surprising. But it needs it goes to show that if you do something like this, it actually matters quite a bit how you do the tokenization, how you represent all the knowledge in a common format. And I believe at least from what I can estimate, they've done a lot of thinking work into this direction. They also mentioned that they've tried a bunch of different things and just pick the ones that's best. Notably citation, again, they have start and end ref tokens, so they would write a text, yada, yada, yada, then the start ref token. Then here is the citation as text form, not as like some reference form, the title of the paper and the author name. And then here end ref. So in this way, you can just feed it into a language model and have the language model, if necessary, predict the reference from a piece of text. This is also useful if you just want to find related work, I would guess, what you could do is you could just put here, you just put something you want to know about like, you imagine a paper that could exist, right, you just write it down, and then you put the start ref token. And the model will probably suggest you paper titles and authors that have done work in the same field. So even for finding related work, I can definitely see that this is super useful. Step by step reasoning, we'll get into the work token in just a bit. Mathematics are represented by operators right here, numbers are split because of white space issues. So numbers are split into their individual digits, even the dot separator is an individual token, which means that is probably not numerically super strong. But we'll see about that, I guess, because no language model so far is numerically super strong. I'm not going to go into much of the more biology and chemistry approaches, but also know that there is a large weight on to these approaches in this paper, but I'm generally going to skip it. So first, let's look into this work token that they talk about. This is for step by step reasoning. For example, there is a task, what's the average of 43, 29, 51, and 13? Let's give that task to a language model and ask it to come up with an answer. Now a general language model would just come up with some sort of answer right here as the next token, and it would probably be wrong, like it would be a number very probably, but it would probably be not the average of those numbers. Now, one thing people have found out recently is the so called chain of thought prompting or the let's reason step by step trick, where you instruct the language model to essentially show its work to say, so you would put this thing in to the prompt. And after that, you would say something like, okay, now do it step by step or something like this. I know, crazy world. If you're watching this like five years ago, this is what we've come to. This is what deep learning has come to. But you essentially put a piece of text to nudge the language model into actually showing its work. Now the paper here notes that not actually all the work that a human would write down here if they need to calculate this. That's actually not all the work. So if you are a human, you have a pen, and you were to calculate these things, you were to calculate this average, and someone would ask you, please write down your steps. What you would write down is okay, the average is calculated as such, I'm going to add the first numbers, gonna add the third, add the fourth number, then divide these by four. And then I have the result. However, this paper points out that in the step from here to here, possibly also in these addition steps, and a step from here to here, if you have to do it in your head, this division right here is probably too cumbersome to just like know by just by happenstance. So what you actually do is these steps right here, these is what we saw on the paper. And then you do a division. And the division, they imagine, I would not do it like this, but they imagine something like, okay, I know, I know 35 times four is 140. And I need to divide 136. And therefore, it's it's 34, because 140 minus four is 136. And I know 140 divided by four is 35. Therefore, the result is 34. So this mental math that people do internally, is often not even put into the external working memory. They see this as a problem. And they say, okay, probably, if we want to go about making the language model show its work, we need to be like really as explicit as possible in the sort of how the steps are represented in text. Their idea is that they introduce a token called work. Now to skip in the paper a little bit about, you know, what that exactly is. But essentially, it goes like this, it goes very much like you enter a prompt, let's say, calculate, who late average of whatever that those numbers were like, the 5953 95, something three, and then you put a token called work. Now in this here, the language model is supposed to do this, and this, right. So it's supposed to show in as explicit detail as possible, the work that it wants to do both internal and external work. So it would, you know, go about and do these individual calculations right here. But, and then once it's done, it's over work is over. And then it says something like, well, the answer is something. Now, you might think right now, wait a minute, that's essentially just the let's think about it step by step trick, except now they call it work. And they wrap it in there. And yeah, if that's all it was, that's you would be absolutely correct. However, a cool thing that you can do right here is you can say, well, look, whatever is in this work thing, I can now also take and give to an external processor. So let's say we ask the, we asked the language model to calculate really the average of something. Well, here in here, the language model is just going to do language modeling, it's going to predict the next tokens. And if we do it, you know, cleanly enough, it has a chance of actually getting the correct answer. If we really do it step by step, like, you know, single digit addition, carry over and so on, then the language model has a chance because it has learned that from the corpus. However, at inference time, we don't have to rely on the language model, we can simply at this point right here, we can say, whatever, we just go to a calculator, we detect that the language model wants to do work, we just take it to a calculator, take it to a calculator, we take the result, put it down here as the result. And then we go on language, language model inferencing, the same if the language model is supposed to write a program. For example, here is a example. This is the prompt that you would put into the language model or a data point question, a needle is this long, it rests on a water surface. So this is kind of a physics problem. And instead of just giving the answer right here, you introduce this work block. Now, the language model, you would ask the language model to come up with all of this right here. And during training, you train it to come up with all of this. But then during inference, you can simply take this right here, the program that the language model writes, and we know they're quite good, you can take it, and you can actually go and run it. And you can put the output into output.txt. And then you have the correct answer. So this work block is half instruction to the language model that now it's time for step by step work to use external memory to use external programs and so on. During training time, you just let the language model train language modeling, right? So the language model, essentially would have to decide what's the output of this Python program? Like, what answer am I going to get right here? Which sometimes might work and sometimes might not. However, during inference time, you can now go and actually execute the Python program that the language model writes and give it the real result. This is very powerful. I really like this approach, I really like this approach of including external tools to essentially do that at inference time, because using external tools at training time is going to be very, very hard. But in this way, you can just train language modeling, and you can do it at inference time. All right, the question is, obviously, we need training data for this, we need training data that has some sort of input, then has a clear description of what the step by step work is to do, including writing a Python program, executing a Python program, and so on, a description of when the work is done, and then the the answer right here, most, most things that we're going to find in training data does not contain any of this stuff in between right here. And if it does contain it, it contains it in a very, let's say, abstract form, or also textual form, not exactly in the form that we needed. This is one of the big problems right here. And they say that they have some data set, for example, con problems, as I understand it, these are exactly such math or physics problems, where it's really step by step described how you would go about it. And by taking those, they can do sort of a templating approach where they generate data in this form. And they criticize themselves a little bit here, in that they say this is way too few, this is not very diverse, they say here, notably, our work prompt data sets are not very large or diverse, there are likely large further gains to be made with this approach. And I agree an approach like this, or this approach in particular, is probably going to, to lead to a very good interaction of language models with external tools. And I'm very excited to see what people can make of it. But for now, we have these few databases of these problems that let the language model know that there is such a thing as a work block, where it needs to do work by itself, and where we can optionally at inference time go in and actually sort of do the work for the language model that requires some external tool like a calculator, or a Python interpreter. Okay, let's go on to the citation prediction. I've already mentioned that a little bit. So here, you would reformulate text with citations as such you'd say, okay, recurrent neural networks, long short term memory, and then here is a start of a citation. So there's a start ref token, then the specific format they use is the title of the paper, followed by the first author name, and then an end rev token. This, they say they've tried different things, including, like, including trying some some predictor right here, some numerical identification of the paper, but in the end, the title and name actually worked better. And you can understand why because not only is the title, a hopefully unique identifier for a paper and the author, but also the text of the title gives some topical hints. So I can definitely see why there would be a better prediction accuracy if the title text has actually something to do often with what the paper is about. And likewise, the author, the author has associations usually with the same field, there's rarely an author that goes from field to field to field and contributes a little bit to biology and a little bit to graph algorithms and a little bit here. Usually, authors have their topics, and therefore, also that the names of the authors to be available allows the language model to learn to associate these names with given, with given topical textual topical things in the text. And that's why it's also really cool to think of this as a related work finder and things like this, an expertise finder, right? You can essentially just ask, you know, which authors are really good at the topic I'm looking at currently, because you just predict a bunch, and then you see which authors often appear. So that's how they introduce citations. Now, they also go into other things like how they include proteins and chemical sequences. And I want to go into that. But an interesting thing they do is that they do what they call prompt pre training. Now, they have this little graph right here, where they show here is pre training, that's where you just do language modeling on the large corpus as it exists. And over here is fine tuning, where you really, you know, take the head off and train a new head to predict the classifier or something like this. In the middle, there is instruction tuning. So that's where you take the language model. And after you've trained it, you go and you fine tune it. But you don't fine tune like a classifier head, you still fine tune it as a language model. However, you include now some prompts for the tasks that you want. For example, if you want to do, I don't know, for example, this reference prediction, you would include the prompt that says something like we'll do a reference prediction or something like this for the task that you're interested in. Again, this is still language modeling, but it is fine tuning, because now you're only training for the tasks that you intend only on the data sets that you intend. This leads to an improvement in performance on those particular tasks, but to a probably not so good model in the rest of all the tasks. The other way you can do it is prompt pre training. And that's what Galactica is doing, which essentially just means they do the same thing as instruction tuning, but they do it at training time. So they just take a bunch of samples that also have an instruction prompt in the data point, like, you know, do this, solve this math exercise, rewrite this code or something like this, or even the step by step whatnot prompt, and they just throw that in sometimes into the training data set, just so that the model gets used to seeing this kind of instructions. And that tends to work quite well, and also tends to not be that intrusive to the rest of the function of the language model. I found pretty interesting this short section on the architecture right here, some noteworthy things is no biases. This, it seems like the if you make your models large enough, then you get away with essentially streamlining more and more, you know, with the small models, we have to have adapters and this and the convolution and the weight tying and whatnot. And the larger the models get, the more you just want to do matrix multiplications and anything that gets in the way just gets in the way. So biases out the window. They have a Gelu activation, which is sort of a smooth version of a Relu, which makes things a little bit less jaggy, I guess, which might come in handy, depending on the optimizer you use. They have learned positional embeddings, which again, as your stuff gets larger, you just want to straightforward learn a lot of stuff instead of using they said they tried Alibi, which are these sort of relative positional encodings. And that apparently did not work. And they use byte pair encoding for vocabulary. I don't think that's too special, honestly. Let's go down. Now we come to the results. And their main result is really this repeated tokens considered not harmful. With repeated tokens, what they mean is that they not only train for one epoch, as you can see right here, every one of those dashed lines is one epoch. And they train for multiple epochs. Usually, it's being said that that is kind of hurtful to train for multiple epochs. But it seems to be okay, in this case, as you can see right here, there is like a tiny bump, they even point this out in the text, there's a tiny bump right here, they say, this might be a double descent phenomenon, not super sure. And there's also sort of a bump right here. So they say we actually stop before that we early stop the run of this largest model before that. So it seems that even though you train on multiple epochs, because the code because the the text quality of the corpus is so high, it doesn't hurt to go over it multiple times. And only this largest model right here might be starting to overfit after epoch five, we don't know it might, and they'd rather early stop in front of that. If one of the authors is watching this, is this word overleaf here supposed to be in here? Like, example curves in figure 23 overleaf for the 30b model? I'm not sure. Maybe maybe overleaf has some other meaning that I don't know. And that's actually a correct word. In any case, they say, they also investigate whether some of the losses, so maybe papers, maybe code and so on, are different from the others. And it hurts the more to be repeated in the data set, they say we see no signs of loss heterogeneity, the loss falls for all sources. They say we suspect there two factors could be at play, a quality factor, the curated nature of the corpus enables more value per token to be extracted, or a modality factor, the nature of scientific data enables more value of token, more value per token to be extracted. These two things, they're very similar, but essentially they say higher quality plus the nature of the domain itself, which I guess is also a bit higher quality, but in a different way, in that scientific discourse and literature often happens to be quite precise, very logical, very non-noisy in terms of linguistics and so on. Some people might disagree, but so they have these hypotheses, although they say they don't know how exactly that would lead to the, so they say the missing step of causation is what leads specifically from either factor towards less overfitting. We leave this question for future work. We note that the implication that the token goes to infinity, so you need infinite amount of training data focus of current large language model projects may be over-emphasized versus the importance of filtering the corpus for quality. And yeah, I think we've seen a number of papers previously that essentially came to a similar conclusion, namely higher quality can make up for missing quantity. But what, which one is really the way to go? Like should we aim for more and more and more and more training data, or should we put more work into quality? Essentially, if you have a dollar to spend, where do you spend it? Right? We know that both things can make your model become better, but what's sort of the marginal value of more quality and the marginal value of more quantity? I think that's going to be the interesting question that has to be researched in the near future. So what's also interesting, this is Big Bench. They also evaluate on Big Bench, which is an NLP task. So not scientific, maybe some subparts are scientific, but not this is a general language model task. And they also perform quite well there. But I also find these curves. I think this is just what a Big Bench chart looks like. I find these curves like what was this? It's like, it goes here and here and here and here. Like, yeah. Okay, it's a bit noisy, to say the least. But I guess I've seen this multiple times now. And at least the average goes up. So I think that is a valid sign. They have a few more investigations. I don't want to go too much into them. But for example, you can see right here, they test on LaTeX equation prediction. So they give a prompt, the description of a formula or the name of an equation. And they see whether or not the language model can predict the correct equation in proper LaTeX. And turns out, yes, it can, it can actually do that a lot better than a lot of the other language models available, which is pretty cool to see a like that much of a significant boost over publicly available and proprietary models. Now, naturally, it's going to be, let's say, expected if you train on scientific text that it's going to be better on scientific text. But it's still cool that it's not just like a 2% gain, it's actually like a massive, massive gain. They also have investigations into this into reasoning, I don't want to go into into reasoning, but these are these are essentially these type of math problems like step by step reasoning problems that they solve using their work block tokens. And again, here, they do outperform other models, except like here at the fine tuned models are still seems to be still ahead. Although these are again, fine tuned. downstream scientific NLP, I want to jump a bit. This I found really interesting. This is the citation prediction task. And specifically, obviously, they do get better as the model grows. But specifically, what I found interesting is that the model initially is biased towards site towards papers towards predicting papers that have high numbers of citations already, which is reasonable, like a Bayesian would totally agree that if a paper is highly cited, then it's more likely, you know that the citation you want is that paper. Someone might criticize me for that statement, but in some way that is correct. And these models do obviously the same mistake, they predict papers with high citations, they actually over predict those. So here you can see the distribution of the ground truth of their citation prediction data set. And here you can see what the model predicts. So the model over predicts more high papers that are highly cited, which I guess you can't really fault the model. But what's interesting is as the model gets bigger, so this is the smallest, this gets bigger, gets even bigger, gets even bigger, you see that the this shifts gradually towards overlapping with the ground truth. So it means that the higher scale of the model that the larger the model is, the more competent it is also to recognize when maybe a paper that doesn't have as many citations should be cited right here, as a direct consequence of it having more parameters and more ability to remember things from the training corpus. Because some of these papers you can see right here, they're cited maybe 10 times, right, and some even lower right here, and the model actually predicts them correctly. That's really impressive that essentially it digests 100 billion tokens of scientific text. And it still remembers that this one paper was cited like three times with in this particular topic, and then correctly cites that paper at that place. I'm wondering how well the ground truth data here is, because the ground truth data got to be predicted by humans. And again, with the search engines that we have, I'm not sure humans could always find all the relevant things. But, or maybe humans disagree what what is relevant. I think the last years of reviews at machine learning conferences have shown, well, I guess all of scientific review has shown that humans can disagree quite heavily what should be cited. The last investigation is into toxicity and bias. They say we find Galactica is significantly less biased and toxic than existing language models, which again, might come from the fact that it's higher quality data, or more the scientific nature, which generally has less slang, less everyday conversation, less off the cuff stuff, and therefore might be a bit less high in these in these data sets. So they test a bunch of data sets, including including obviously truthful QA. And I'm happy to report that Galactica is the first large openly available language model that beats in its largest instances that beats GPT-4 channel and truthful QA. So good job. Well done. I'm that this is this is a moment of of joy to me that it's finally been surpassed. Now, the interesting thing is that usually truthful QA is adversarially adversarially constructed in such a way that the larger the models get, the worse they get on truthful QA. And you can see that this model right here doesn't follow that trajectory. Now, we've seen other models in the past that also have that property. But truthful QA is specifically adversarially constructed for things like GPT-3. And that means that Galactica is significantly different from GPT-3 that as it goes up in size, as it gets more performant, it also does get better or more performant on on these whatever the task considers truthful. So it will be really interesting to actually investigate what's happening here. But I'm not going to do that. I'm just happy that this now turns out. Lastly, they say, we show that language models are surprisingly strong absorbers of technical knowledge. They tend to scale smoothly with model size. We demonstrated this for a citation prediction where a language model outperforms tuned, sparse and dense retrieval based pipelines for this tasks. And this, as I said, previously, at the beginning of the video, this is really, really interesting that essentially this beats search engines for citation prediction. And it would be interesting to see how good humans are like a human plus a search engine like the archive search field, or a human plus Galactica for finding correct references. I'll be super interested at which combo is better right there. Because, again, the tools alone, they don't do stuff, it needs to have a human in the loop and that human can always make decisions. It would be really interesting to use this right here as a tool rather than just, you know, it's either all or nothing either the model writes the paper, or the humans do. So that was it for this paper. The last challenge, I guess, is to find out which parts of the paper that were actually written by Galactica itself. I hear that the part of the abstract may be written by Galactica, although I don't know. And I don't know if the authors will ever will ever lift that secret. Let's hope they don't because I like the mystery. Alright, this was it for me. Sorry for the bit longer rant at the beginning. I still hope you enjoy this. I think this is a really, really promising direction. It raises a lot of really interesting points about quality of data, quantity of data, and about, you know, doing scientific work itself. This could be a really powerful tool for scientists of the future. And I'm waiting for the next iterations of it. Leave comments if you have comments. Thanks for watching. See you next time. Bye bye.
[{"start": 0.0, "end": 5.92, "text": " Hello, this video starts out with a review of the drama around the public demo of the Galactica"}, {"start": 5.92, "end": 10.64, "text": " model, and then goes into a paper review. If you're not in the mood for any drama,"}, {"start": 10.64, "end": 18.56, "text": " skip ahead about 16 minutes and you'll be fine. Hello there, Galactica is a model a language model"}, {"start": 18.56, "end": 24.96, "text": " by Meta AI that is trained specifically on scientific text. Now this is a generative model,"}, {"start": 24.96, "end": 30.0, "text": " so we can generate stuff and thereby you can do a lot of things. For example, as you can see right"}, {"start": 30.0, "end": 36.4, "text": " here, citation prediction, you give something in and you ask it to predict a citation and the"}, {"start": 36.4, "end": 42.96, "text": " citation in this case is correct. This is not trained to predict citations that just happens"}, {"start": 42.96, "end": 48.56, "text": " by means of it being trained on scientific text. There's also for example, this here,"}, {"start": 49.2, "end": 54.64, "text": " translate the math formula into plain English and there is plain English over here. Now the"}, {"start": 54.64, "end": 61.36, "text": " model can do so much more. The point of the paper is actually to say that, look, these models,"}, {"start": 61.36, "end": 67.28, "text": " we don't have to train them on these huge corpora of text, we can reduce the corpus size. But if the"}, {"start": 67.28, "end": 74.08, "text": " corpus is well curated, qualitatively higher, then there might also be a benefit in that it might be"}, {"start": 74.08, "end": 81.68, "text": " a trade off between giant corpora and small corpora that are of higher quality. Now, the other thing"}, {"start": 81.68, "end": 88.32000000000001, "text": " about this paper is that the model is released fully open source. And they even had a demo up."}, {"start": 88.32000000000001, "end": 94.64000000000001, "text": " But as you can see right now, it just says, thanks everyone for trying the demo. Now I've tried the"}, {"start": 94.64000000000001, "end": 99.52000000000001, "text": " demo for a bunch of things. It was really funny. You can make some fun stuff, you can also make"}, {"start": 99.52000000000001, "end": 106.16000000000001, "text": " some serious stuff. In fact, Galactica was used to write the paper that we're going to read in just"}, {"start": 106.16, "end": 113.2, "text": " a second. But the demo was taken down. And despite here it seemingly being like, you know, this is"}, {"start": 113.2, "end": 120.0, "text": " just a fun thing that we wanted to take down anyway. Probably, probably not. Yann LeCun on"}, {"start": 120.0, "end": 125.52, "text": " Twitter gives a little bit of a hint of what happened right here. Pretty much exactly what"}, {"start": 125.52, "end": 130.96, "text": " happened. Well, what is this? People started complaining, as they do. Gary Marcus here says,"}, {"start": 130.96, "end": 136.32000000000002, "text": " the rapid removal of meta AI's Galactica demo represent a tacit acknowledgement that it was"}, {"start": 136.32000000000002, "end": 141.84, "text": " released too soon, and deeply problematic, of course, problematic, the word that you can throw"}, {"start": 141.84, "end": 148.32, "text": " at anything, and contrast strikingly with Yann LeCun's untenable public defense of the project"}, {"start": 148.32, "end": 153.84, "text": " yesterday. Someone answered? Or maybe it was removed because people like you abuse the model"}, {"start": 153.84, "end": 158.88, "text": " and misrepresented it. Thanks for getting useful and interesting public demo removed. This is why"}, {"start": 158.88, "end": 164.07999999999998, "text": " we can't have nice things to that Yann LeCun answers pretty much exactly what happened,"}, {"start": 164.07999999999998, "end": 169.92, "text": " met up huge props to getting this model out there, the model still available, also getting the demo"}, {"start": 169.92, "end": 175.68, "text": " out there for people to just try it. And yes, people tried it as it was intended. And people"}, {"start": 175.68, "end": 180.88, "text": " tried it as it wasn't intended. A lot of funny stuff was done. And also someone might have"}, {"start": 180.88, "end": 186.8, "text": " entered a bad word. Oh, no, oh, no. But people pretty quickly started obviously to complain,"}, {"start": 186.8, "end": 191.68, "text": " the professional complainers, and the people who think they know what's good for you. Obviously,"}, {"start": 191.68, "end": 197.44, "text": " we're all over this. So Michael Black says, I asked Galactica about some things I know about,"}, {"start": 197.44, "end": 204.24, "text": " and I'm troubled in all cases, it was wrong, or biased, but sounded right and authoritative."}, {"start": 204.24, "end": 211.04000000000002, "text": " I think that's dangerous, dangerous, dangerous, right? Here are a few of my experiments and yada,"}, {"start": 211.04, "end": 217.92, "text": " yada, yada. So here, he tries to justify why dangerous Galactica generates text that's"}, {"start": 217.92, "end": 224.72, "text": " grammatical and feels real. This text will slip into real scientific submissions. It will be"}, {"start": 224.72, "end": 230.32, "text": " realistic, but wrong or biased, it will be hard to detect, it will influence how people think."}, {"start": 230.32, "end": 237.35999999999999, "text": " You catch the like the step like it produces text that feels real, this text will slip into"}, {"start": 237.36, "end": 245.04000000000002, "text": " real scientific submissions. Like how? It just will. It's just like no, no one has a part in"}, {"start": 245.04000000000002, "end": 251.28, "text": " it just like the model exists. Therefore, text and scientific submissions. By the way, humans can"}, {"start": 251.28, "end": 258.40000000000003, "text": " also do like bad stuff. Humans can also lie and plagiarize and write grammatically real but wrong"}, {"start": 258.40000000000003, "end": 264.32, "text": " things. In fact, the literature is littered with wrong math proofs, not even intentionally wrong,"}, {"start": 264.32, "end": 268.8, "text": " just like they look right. There are essentially two or three kinds of people. There are the people"}, {"start": 268.8, "end": 273.76, "text": " who think we know what's good for you. And therefore, we must be the guardians of all the"}, {"start": 273.76, "end": 278.8, "text": " models. Then there are the people who just dunk on everything. And then there are in general,"}, {"start": 278.8, "end": 285.28, "text": " the professional complainers who just throw words at stuff. Because that's what they do. They don't"}, {"start": 285.28, "end": 290.71999999999997, "text": " like not being asked. They don't like power not being centralized. For example, here, Facebook,"}, {"start": 290.72, "end": 296.24, "text": " sorry, Meta AI, check out our new AI that lets you access all of humanity's knowledge. Also,"}, {"start": 296.24, "end": 302.48, "text": " Facebook AI. Be careful though, it just makes us up. Why the jab here? Like, one must be like"}, {"start": 302.48, "end": 309.52000000000004, "text": " really sour to make this jab. And this tweet actually goes on. So down here, these are the"}, {"start": 309.52000000000004, "end": 314.96000000000004, "text": " initial criticism, obviously shilling, you know, your own work a little bit about this topic and"}, {"start": 314.96, "end": 320.88, "text": " the works of friends. And then it goes on and says, and let's reflect for a moment on how they phrase"}, {"start": 320.88, "end": 328.24, "text": " their disclaimer. Shall we? Hallucinate is a terrible word choice here, suggesting, as it does,"}, {"start": 328.24, "end": 334.24, "text": " that the language model has experiences and perceives things. I'm not sure that anyone"}, {"start": 335.2, "end": 340.56, "text": " misunderstood the use of the word hallucinate right here. But whatever we can throw at it,"}, {"start": 340.56, "end": 347.52, "text": " whatever. And look at this. And on top of that, it's making light of a symptom of serious mental"}, {"start": 347.52, "end": 354.56, "text": " illness. Whatever, whatever, like just just grab into the bucket, take some insult and just throw"}, {"start": 354.56, "end": 360.0, "text": " it. Why the complaining? It has a disclaimer, never follow advice from a language model without"}, {"start": 360.0, "end": 365.04, "text": " verification. People are just gonna disregard it. People are just gonna be like the language model"}, {"start": 365.04, "end": 371.04, "text": " says I must do something so I'll do something. Look at me. I just write a paper. Oh no, it to"}, {"start": 371.04, "end": 377.44, "text": " language model says something that I must submit this Grady Booge says, Galactica is a little more"}, {"start": 377.44, "end": 384.0, "text": " than statistical nonsense at scale. Amusing, dangerous and in my holy opinion, unethical,"}, {"start": 384.0, "end": 391.04, "text": " unethical and dangerous. Yann LeCun says, Come on, is your predictive keyboard dangerous and"}, {"start": 391.04, "end": 396.40000000000003, "text": " unethical? Is GitHub copilot dangerous and unethical? And so on because they're exactly"}, {"start": 396.40000000000003, "end": 402.16, "text": " the same is like a pen unethical because you can write a bad word with it. No, there is a clear"}, {"start": 402.16, "end": 408.32000000000005, "text": " mediator in the loop. The human who has intent can easily accept or reject the prediction."}, {"start": 409.44, "end": 418.08000000000004, "text": " What? What? Like? So it's now two days later and the discussion is still raging on with Yann LeCun"}, {"start": 418.08, "end": 425.2, "text": " asking, who has Galactica hurt? What if actually it helps scientists write papers more efficiently"}, {"start": 425.2, "end": 430.4, "text": " and more correctly, particularly scientists whose main language is not English, or who don't work"}, {"start": 430.4, "end": 436.24, "text": " in a major research institution. And yes, from experience, I can tell that type of scientists"}, {"start": 436.24, "end": 443.12, "text": " would greatly, greatly benefit from a tool like this. No, they wouldn't just take the output and"}, {"start": 443.12, "end": 448.32, "text": " slam it into a paper and upload it on archive. They would interact with the tool in order to"}, {"start": 448.32, "end": 454.72, "text": " come up with a better research paper. And in light of all of these benefits, present and future"}, {"start": 454.72, "end": 462.0, "text": " potential benefits, it is very fair to ask, who has this actually hurt? What's the actual danger"}, {"start": 462.0, "end": 469.36, "text": " here? As reasonable people, we should be able to debate the pros and cons of such a technology and"}, {"start": 469.36, "end": 475.76, "text": " of the technology being just given to people instead of just being kept, you know, under we"}, {"start": 475.76, "end": 481.44, "text": " know what's good for you. And it's not all like dandy that comes out of this, not all correct,"}, {"start": 481.44, "end": 486.16, "text": " what comes out of these models. Here is the getting a girlfriend algorithm, which would"}, {"start": 486.16, "end": 491.36, "text": " probably not be a good fit for an archive paper. There's also other stuff like here is a research"}, {"start": 491.36, "end": 497.04, "text": " paper on the benefits of eating crushed glass. And people have gotten even more inappropriate"}, {"start": 497.04, "end": 502.48, "text": " stuff out of this model, which is not a surprise, because these models are very good and very"}, {"start": 502.48, "end": 508.40000000000003, "text": " competent. And they are very agreeable. So if you ask them to do something, they'll probably do it."}, {"start": 508.40000000000003, "end": 515.6, "text": " Yet still, the fair question is, in what scenarios would this type of generated text actually be"}, {"start": 515.6, "end": 523.44, "text": " harmful? And here's the point. These people react with just astonishment to this question. It's just"}, {"start": 523.44, "end": 531.6, "text": " like, Oh, I can't believe it. Oh, no way. I'm flabbergasted. Jesus Christ. Ha, ha, ha. Dot,"}, {"start": 531.6, "end": 538.8000000000001, "text": " dot, dot, dot, dot, dot. Incredible. These people are so used to being able to just make the"}, {"start": 538.8000000000001, "end": 546.0, "text": " accusation, and then they get their way that they can't like the someone asking them to come up with"}, {"start": 546.0, "end": 552.5600000000001, "text": " a reasonable argument that in a neutral way discusses pros and cons of something is just"}, {"start": 552.56, "end": 557.68, "text": " so out of their world. Because in the past, all they always had to do in the recent years is"}, {"start": 558.4, "end": 564.88, "text": " say a word like harmful or problematic. And if they said it long enough and loud enough,"}, {"start": 564.88, "end": 570.8, "text": " magically, things would go their way people would take down things, people would change things so"}, {"start": 570.8, "end": 576.56, "text": " that they get their wishes. And now if someone actually asks them, they don't know what to say,"}, {"start": 576.56, "end": 582.16, "text": " they're just so astonished that someone might actually want to know pros and cons of the stuff."}, {"start": 582.16, "end": 589.1999999999999, "text": " And yes, of course, the unlicensed now clearly unqualified for his position because he asks"}, {"start": 589.1999999999999, "end": 596.0799999999999, "text": " what the actual harms are. It's incredible. And I think we're all responsible for the climate like"}, {"start": 596.0799999999999, "end": 603.1999999999999, "text": " this because even now, Metta, or whoever hosted that demo took it down in response to the public"}, {"start": 603.1999999999999, "end": 609.4399999999999, "text": " pressure. So the people were loud enough, and they were mean enough, essentially, that the PR people"}, {"start": 609.44, "end": 614.48, "text": " at Metta and the lawyers, or whoever made the decision took down the demo. And that is one"}, {"start": 614.48, "end": 621.36, "text": " more reinforcement for this kind of behavior. And everyone seems to be afraid of some boogeyman that"}, {"start": 621.36, "end": 625.9200000000001, "text": " being accused of a bad word automatically means that everyone else is going like, Oh, no,"}, {"start": 625.9200000000001, "end": 631.7600000000001, "text": " I'll never do business with you again. I mean, to a degree, that is true. But I would argue that"}, {"start": 631.7600000000001, "end": 638.72, "text": " the solution is that we all collectively stop making such a big deal out of a few flimsy,"}, {"start": 638.72, "end": 645.76, "text": " big word accusations like harmful and problematic, and actually discuss in neutral terms pros and"}, {"start": 645.76, "end": 652.48, "text": " cons of technology. And to find the best path forward that brings the pros to as many people"}, {"start": 652.48, "end": 659.76, "text": " as possible while limiting the cons. And no, that is not always going to be the approach of we know"}, {"start": 659.76, "end": 664.96, "text": " what's good for you. Let's keep it all to ourselves. And you come ask us whenever you want"}, {"start": 664.96, "end": 672.08, "text": " something you peasant. Alright, back to Janek in the past, I think the complaints are very unreasonable."}, {"start": 672.08, "end": 677.6, "text": " I think the people who make the complaints know that they're very unreasonable. And I think this"}, {"start": 677.6, "end": 683.84, "text": " is either a cloud game or a power game, because things are out there, they're no longer centralized."}, {"start": 684.5600000000001, "end": 690.48, "text": " In any case, I decided to look up actually early criticisms of the printing press. And what do you"}, {"start": 690.48, "end": 697.52, "text": " find here is a record from a conversation that Johannes Gutenberg, the inventor of the printing"}, {"start": 697.52, "end": 702.8000000000001, "text": " press had with a monk and monks used to copy text by hand, right. And now the printing press came"}, {"start": 702.8000000000001, "end": 710.08, "text": " along, and essentially brought that to everyone. Gutenberg says, I want to help men and women to"}, {"start": 710.08, "end": 715.52, "text": " be literate to give them knowledge to make books so cheap, even a peasant might afford them. That"}, {"start": 715.52, "end": 723.92, "text": " is my hope. Yes. This is strikingly similar to what Meta wrote in this Galactica paper."}, {"start": 724.56, "end": 730.56, "text": " The monk says, the Word of God needs to be interpreted by priests, not spread about like dung."}, {"start": 731.1999999999999, "end": 738.0, "text": " We know what's good for you. I do not wish to despoil the word, but it will happen."}, {"start": 738.0, "end": 745.04, "text": " This is 500 years ago, and the exact same conversation repeats and repeats and repeats."}, {"start": 745.04, "end": 753.04, "text": " It will happen magically, right? To hand it out about to all and sundry is langurus?"}, {"start": 754.32, "end": 761.84, "text": " Would you have ploughmen and weavers debating the gospel in taverns? Oh no, the common folk,"}, {"start": 761.84, "end": 768.48, "text": " the common folk get it. That's terrible. If that is what they want to do. So up until here you saw"}, {"start": 768.48, "end": 774.24, "text": " we know what's good for you. And the second thing is always, it's dangerous, it's problematic. And"}, {"start": 774.24, "end": 779.6800000000001, "text": " the head monk says, but what of the dangers, it will be like giving a candle to infants."}, {"start": 780.88, "end": 787.2800000000001, "text": " Such copies we make of the Bible would first be monasteries for monasteries and churches. The head"}, {"start": 787.28, "end": 793.36, "text": " monk says, the Bible? You plan to make the Bible as well? Oh no, you have ambitions."}, {"start": 794.4, "end": 803.8399999999999, "text": " I've considered it. And obviously he did. And obviously, I like you can one to one, one to one,"}, {"start": 803.8399999999999, "end": 809.36, "text": " you can take every argument that people make against this. And you can put it on the predictive"}, {"start": 809.36, "end": 815.12, "text": " keyboard, you can put it about the pen, you can put it about the printing press, and people have"}, {"start": 815.12, "end": 821.28, "text": " done it. This is 500 years and every time it was just dead wrong. Every time the new technology"}, {"start": 822.0, "end": 829.76, "text": " improved our lives drastically. Yes, email leads to some Nigerian print scams. Yes, some people get"}, {"start": 829.76, "end": 836.72, "text": " hurt by it. But email has been a definite benefit for our world. No matter what you think right now"}, {"start": 836.72, "end": 844.08, "text": " with your 5000 unread emails in your inbox, it is a benefit to the world. And it's the only"}, {"start": 844.08, "end": 850.64, "text": " benefit to the world. It's the exact same thing over and over. Enough though, of that enough of"}, {"start": 850.64, "end": 857.5200000000001, "text": " me ranting. Let's go into the actual paper. The paper is called Galactica, a large language model"}, {"start": 857.5200000000001, "end": 863.0400000000001, "text": " for science. It's by Meta. And I already told you that it is a large language model trained on"}, {"start": 863.0400000000001, "end": 868.24, "text": " scientific text. There's actually not too much to it. We'll go quickly through the paper and see"}, {"start": 868.24, "end": 874.48, "text": " but in general, this is a, let's say straightforward work of research into what it"}, {"start": 874.48, "end": 882.8, "text": " means to have more quality data instead of more quantity data. They say here, we train on a large"}, {"start": 882.8, "end": 887.92, "text": " scientific corpus of papers, reference materials, knowledge bases, and many other sources, we out"}, {"start": 887.92, "end": 893.84, "text": " perform existing models on a range of scientific tasks. Despite not being trained on a general"}, {"start": 893.84, "end": 900.08, "text": " corpus, Galactica outperforms a Bloom and OPT 175 on Big Bench. Big Bench is a general benchmark"}, {"start": 900.08, "end": 907.2, "text": " for language models. And this is where it gets really interesting, because this, the Galactica"}, {"start": 907.2, "end": 913.6800000000001, "text": " model is trained on a very small subset of data, and yet it outperforms these much, much more"}, {"start": 913.6800000000001, "end": 920.1600000000001, "text": " holistic models on that task. So that is a definite argument for data quality instead of data"}, {"start": 920.16, "end": 927.52, "text": " quantity. We open source the model for the benefit of the scientific community, and much to the"}, {"start": 927.52, "end": 935.04, "text": " detriment of, I guess, Meta itself. Although let me say, what Meta should have done, they did so"}, {"start": 935.04, "end": 941.8399999999999, "text": " much right. They open sourced the model, they made the model available via a demo. And now the only"}, {"start": 941.8399999999999, "end": 948.16, "text": " thing left to do is to actually have a pair of balls to tell the people who come and to say,"}, {"start": 948.16, "end": 953.92, "text": " oh look, I got the model to produce something bad, to tell them, well yeah, that's what happens"}, {"start": 953.92, "end": 961.4399999999999, "text": " sometimes. And it is not dangerous, it is not problematic, it's just a language model. So Meta,"}, {"start": 961.4399999999999, "end": 966.16, "text": " next time have some balls, just tell the people to f off, and you'll be fine."}, {"start": 969.04, "end": 976.0799999999999, "text": " All right, they say in May, an average of 516 papers per day were submitted to archive. It is"}, {"start": 976.08, "end": 980.64, "text": " impossible for a single person to read all the papers in a given field. And it's likewise challenging"}, {"start": 980.64, "end": 986.64, "text": " to organize data on the underlying scientific phenomena. They say, the volume of scientific"}, {"start": 986.64, "end": 992.4000000000001, "text": " research has become too large. And what we used to do is we used to search engines. So they say"}, {"start": 992.4000000000001, "end": 997.44, "text": " search engines are the current interface for knowledge, but they do not organize knowledge"}, {"start": 997.44, "end": 1001.9200000000001, "text": " directly and instead point to secondary layers. So with a search engine, I can only find stuff,"}, {"start": 1001.92, "end": 1007.52, "text": " I cannot integrate stuff, synthesize stuff, or even come up with the stuff that I should search"}, {"start": 1007.52, "end": 1013.1999999999999, "text": " for in the first place. They say, if you want to do a literature review, that still has to be done"}, {"start": 1013.1999999999999, "end": 1018.24, "text": " by a human, if you want to do a summary, that still has to be done by a human, because our tools"}, {"start": 1018.24, "end": 1024.56, "text": " are just not powerful enough. And the Galactica is the first step at building a tool that can assist"}, {"start": 1024.56, "end": 1030.6399999999999, "text": " humans in doing these types of things, searching for things, synthesizing things, integrating things,"}, {"start": 1030.64, "end": 1036.24, "text": " and maybe suggesting new things. They say, unlike search engines, language models can potentially"}, {"start": 1036.24, "end": 1041.2800000000002, "text": " store, combine, and reason about scientific knowledge. They can potentially find hidden"}, {"start": 1041.2800000000002, "end": 1046.24, "text": " connections between different research, find hidden gems, and bring these insights to the"}, {"start": 1046.24, "end": 1051.1200000000001, "text": " surface. They could synthesize knowledge by generating secondary content automatically,"}, {"start": 1051.1200000000001, "end": 1055.68, "text": " such as literature reviews, encyclopedia articles, lecture notes, and much more."}, {"start": 1055.68, "end": 1061.3600000000001, "text": " And they also talk about the benefit of having different modalities, linking papers with code,"}, {"start": 1061.3600000000001, "end": 1067.76, "text": " protein sequences, with compounds, theories with LaTeX, and much more. Our ultimate vision"}, {"start": 1067.76, "end": 1073.1200000000001, "text": " is a single neural network for powering scientific tasks. You know, it doesn't say"}, {"start": 1073.76, "end": 1080.72, "text": " do scientific, it says powering scientific tasks. And that is also my ideal end goal,"}, {"start": 1080.72, "end": 1086.72, "text": " if I imagine a cool future where AI tools are abundant, I would want like an extension of my"}, {"start": 1086.72, "end": 1094.88, "text": " brain that I can interact with, and that empowers me as a scientist. And I would still be able to"}, {"start": 1094.88, "end": 1099.1200000000001, "text": " actually make the decision of whether to accept the output of the tool or not."}, {"start": 1100.48, "end": 1106.08, "text": " They say, we introduce a new large language model, sorry about that, called Galactica,"}, {"start": 1106.08, "end": 1114.0, "text": " to automatically organize science. This includes over 48 million papers, this is their data set,"}, {"start": 1114.0, "end": 1118.56, "text": " textbooks, lecture notes, millions of compounds of protein, scientific websites, encyclopedias,"}, {"start": 1118.56, "end": 1126.32, "text": " and more. Our corpus is high quality and highly curated. And it is a lot smaller than the usual"}, {"start": 1126.32, "end": 1133.4399999999998, "text": " corpora of the large language models. They format all of this into a common format, their common"}, {"start": 1133.44, "end": 1140.56, "text": " format is markdown. And then they take a lot of attention of how they do specific scientific"}, {"start": 1140.56, "end": 1146.24, "text": " things. For example, citations, they use a special token that allows a researcher to predict the"}, {"start": 1146.24, "end": 1152.24, "text": " citation given any input context. They also have a very interesting way of handling step by step"}, {"start": 1152.24, "end": 1157.68, "text": " reasoning. They have a special token for that, that mimics an internal working memory, we're"}, {"start": 1157.68, "end": 1164.3200000000002, "text": " going to look at these two things in just a bit. The interesting thing is, is for example, with"}, {"start": 1164.3200000000002, "end": 1169.1200000000001, "text": " reference prediction, so citation prediction, they say, importantly, we find this approach out"}, {"start": 1169.1200000000001, "end": 1174.48, "text": " performs tuned sparse and dense retrieval approaches for citation prediction. So the"}, {"start": 1174.48, "end": 1181.92, "text": " generative approach is better at predicting a correct citation than search engines, even tuned"}, {"start": 1181.92, "end": 1188.8000000000002, "text": " dense retrievers that like neural retrievers. This is also really interesting. So for again,"}, {"start": 1188.8000000000002, "end": 1195.44, "text": " for all the people who argue that, oh, no, wrong stuff will end up in the papers, probably right"}, {"start": 1195.44, "end": 1202.88, "text": " now, you're using a search engine to find your references. And if you distrust the human ability"}, {"start": 1202.88, "end": 1209.76, "text": " to accept or reject the output of a tool so much, then how come you don't distrust your ability to"}, {"start": 1209.76, "end": 1216.4, "text": " accept or reject based on search engine outputs? Not sure, but these things are better than search"}, {"start": 1216.4, "end": 1222.0, "text": " engines. So you should use these. Most interestingly, Galactica was used to help"}, {"start": 1222.0, "end": 1232.56, "text": " write this paper. Oh, no, we are doomed. We are doomed. Okay, so here's the corpus. You can see"}, {"start": 1232.56, "end": 1239.28, "text": " that there's a bunch of data sources, the most data comes from papers about 83 years ago. So"}, {"start": 1239.28, "end": 1248.56, "text": " about 83% of tokens, the total size of the corpus is 106 billion tokens. As I said, that is a lot"}, {"start": 1248.56, "end": 1255.28, "text": " smaller than some of the large language model training runs that we are used to. A lot of other"}, {"start": 1255.28, "end": 1260.6399999999999, "text": " sources are also code reference material, knowledge bases, filtered version of common crawl, just 1%"}, {"start": 1261.6, "end": 1268.6399999999999, "text": " prompts, which they generate or include. And here other is other and we might see a little bit of"}, {"start": 1268.64, "end": 1278.24, "text": " what other is. The tokenization is very interesting, they need to bring all into a markdown format."}, {"start": 1278.24, "end": 1284.8000000000002, "text": " This isn't super surprising. But it needs it goes to show that if you do something like this, it"}, {"start": 1284.8000000000002, "end": 1290.4, "text": " actually matters quite a bit how you do the tokenization, how you represent all the knowledge"}, {"start": 1290.4, "end": 1296.3200000000002, "text": " in a common format. And I believe at least from what I can estimate, they've done a lot of thinking"}, {"start": 1296.32, "end": 1300.96, "text": " work into this direction. They also mentioned that they've tried a bunch of different things and just"}, {"start": 1300.96, "end": 1308.24, "text": " pick the ones that's best. Notably citation, again, they have start and end ref tokens, so they"}, {"start": 1308.24, "end": 1315.04, "text": " would write a text, yada, yada, yada, then the start ref token. Then here is the citation as text"}, {"start": 1315.04, "end": 1320.8799999999999, "text": " form, not as like some reference form, the title of the paper and the author name. And then here"}, {"start": 1320.88, "end": 1327.92, "text": " end ref. So in this way, you can just feed it into a language model and have the language model,"}, {"start": 1327.92, "end": 1335.7600000000002, "text": " if necessary, predict the reference from a piece of text. This is also useful if you just want to"}, {"start": 1335.7600000000002, "end": 1341.3600000000001, "text": " find related work, I would guess, what you could do is you could just put here, you just put"}, {"start": 1341.3600000000001, "end": 1347.1200000000001, "text": " something you want to know about like, you imagine a paper that could exist, right, you just write it"}, {"start": 1347.12, "end": 1353.6, "text": " down, and then you put the start ref token. And the model will probably suggest you paper titles"}, {"start": 1353.6, "end": 1360.9599999999998, "text": " and authors that have done work in the same field. So even for finding related work, I can definitely"}, {"start": 1360.9599999999998, "end": 1367.6, "text": " see that this is super useful. Step by step reasoning, we'll get into the work token in just"}, {"start": 1367.6, "end": 1373.12, "text": " a bit. Mathematics are represented by operators right here, numbers are split because of white"}, {"start": 1373.12, "end": 1380.56, "text": " space issues. So numbers are split into their individual digits, even the dot separator is an"}, {"start": 1380.56, "end": 1391.52, "text": " individual token, which means that is probably not numerically super strong. But we'll see about that,"}, {"start": 1391.52, "end": 1397.6, "text": " I guess, because no language model so far is numerically super strong. I'm not going to go"}, {"start": 1397.6, "end": 1403.6, "text": " into much of the more biology and chemistry approaches, but also know that there is a large"}, {"start": 1403.6, "end": 1410.56, "text": " weight on to these approaches in this paper, but I'm generally going to skip it. So first,"}, {"start": 1410.56, "end": 1416.7199999999998, "text": " let's look into this work token that they talk about. This is for step by step reasoning. For"}, {"start": 1416.7199999999998, "end": 1424.8799999999999, "text": " example, there is a task, what's the average of 43, 29, 51, and 13? Let's give that task to a"}, {"start": 1424.88, "end": 1430.0800000000002, "text": " language model and ask it to come up with an answer. Now a general language model would just"}, {"start": 1430.0800000000002, "end": 1435.8400000000001, "text": " come up with some sort of answer right here as the next token, and it would probably be wrong,"}, {"start": 1435.8400000000001, "end": 1441.6000000000001, "text": " like it would be a number very probably, but it would probably be not the average of those numbers."}, {"start": 1442.72, "end": 1449.6000000000001, "text": " Now, one thing people have found out recently is the so called chain of thought prompting or"}, {"start": 1449.6, "end": 1455.28, "text": " the let's reason step by step trick, where you instruct the language model to essentially show"}, {"start": 1455.28, "end": 1461.36, "text": " its work to say, so you would put this thing in to the prompt. And after that, you would say"}, {"start": 1461.36, "end": 1467.9199999999998, "text": " something like, okay, now do it step by step or something like this. I know, crazy world. If"}, {"start": 1467.9199999999998, "end": 1473.6799999999998, "text": " you're watching this like five years ago, this is what we've come to. This is what deep learning has"}, {"start": 1473.6799999999998, "end": 1479.52, "text": " come to. But you essentially put a piece of text to nudge the language model into actually showing"}, {"start": 1479.52, "end": 1486.24, "text": " its work. Now the paper here notes that not actually all the work that a human would write down"}, {"start": 1486.96, "end": 1493.12, "text": " here if they need to calculate this. That's actually not all the work. So if you are a human,"}, {"start": 1493.12, "end": 1499.68, "text": " you have a pen, and you were to calculate these things, you were to calculate this average,"}, {"start": 1499.68, "end": 1505.76, "text": " and someone would ask you, please write down your steps. What you would write down is okay,"}, {"start": 1505.76, "end": 1511.12, "text": " the average is calculated as such, I'm going to add the first numbers, gonna add the third,"}, {"start": 1511.12, "end": 1518.4, "text": " add the fourth number, then divide these by four. And then I have the result. However,"}, {"start": 1518.4, "end": 1525.44, "text": " this paper points out that in the step from here to here, possibly also in these addition steps,"}, {"start": 1525.44, "end": 1531.12, "text": " and a step from here to here, if you have to do it in your head, this division right here is probably"}, {"start": 1531.12, "end": 1539.6, "text": " too cumbersome to just like know by just by happenstance. So what you actually do is these"}, {"start": 1539.6, "end": 1546.32, "text": " steps right here, these is what we saw on the paper. And then you do a division. And the division,"}, {"start": 1546.32, "end": 1551.9199999999998, "text": " they imagine, I would not do it like this, but they imagine something like, okay, I know, I know"}, {"start": 1551.92, "end": 1562.96, "text": " 35 times four is 140. And I need to divide 136. And therefore, it's it's 34, because 140 minus four"}, {"start": 1562.96, "end": 1572.3200000000002, "text": " is 136. And I know 140 divided by four is 35. Therefore, the result is 34. So this mental math"}, {"start": 1572.3200000000002, "end": 1579.44, "text": " that people do internally, is often not even put into the external working memory. They see this"}, {"start": 1579.44, "end": 1588.48, "text": " as a problem. And they say, okay, probably, if we want to go about making the language model show"}, {"start": 1588.48, "end": 1597.28, "text": " its work, we need to be like really as explicit as possible in the sort of how the steps are"}, {"start": 1597.28, "end": 1604.8, "text": " represented in text. Their idea is that they introduce a token called work. Now to skip in"}, {"start": 1604.8, "end": 1611.2, "text": " the paper a little bit about, you know, what that exactly is. But essentially, it goes like this,"}, {"start": 1611.2, "end": 1620.8, "text": " it goes very much like you enter a prompt, let's say, calculate, who late average of whatever that"}, {"start": 1620.8, "end": 1630.56, "text": " those numbers were like, the 5953 95, something three, and then you put a token called work."}, {"start": 1630.56, "end": 1639.52, "text": " Now in this here, the language model is supposed to do this, and this, right. So it's supposed to"}, {"start": 1639.52, "end": 1647.84, "text": " show in as explicit detail as possible, the work that it wants to do both internal and external"}, {"start": 1647.84, "end": 1654.6399999999999, "text": " work. So it would, you know, go about and do these individual calculations right here. But,"}, {"start": 1654.64, "end": 1661.2800000000002, "text": " and then once it's done, it's over work is over. And then it says something like, well, the answer"}, {"start": 1661.2800000000002, "end": 1668.24, "text": " is something. Now, you might think right now, wait a minute, that's essentially just the let's think"}, {"start": 1668.24, "end": 1675.3600000000001, "text": " about it step by step trick, except now they call it work. And they wrap it in there. And yeah,"}, {"start": 1675.3600000000001, "end": 1681.44, "text": " if that's all it was, that's you would be absolutely correct. However, a cool thing that"}, {"start": 1681.44, "end": 1690.4, "text": " you can do right here is you can say, well, look, whatever is in this work thing, I can now also"}, {"start": 1690.4, "end": 1697.04, "text": " take and give to an external processor. So let's say we ask the, we asked the language model to"}, {"start": 1697.04, "end": 1702.56, "text": " calculate really the average of something. Well, here in here, the language model is just going to"}, {"start": 1702.56, "end": 1708.56, "text": " do language modeling, it's going to predict the next tokens. And if we do it, you know, cleanly"}, {"start": 1708.56, "end": 1714.08, "text": " enough, it has a chance of actually getting the correct answer. If we really do it step by step,"}, {"start": 1714.08, "end": 1720.72, "text": " like, you know, single digit addition, carry over and so on, then the language model has a chance"}, {"start": 1720.72, "end": 1725.76, "text": " because it has learned that from the corpus. However, at inference time, we don't have to"}, {"start": 1725.76, "end": 1730.8, "text": " rely on the language model, we can simply at this point right here, we can say, whatever, we just go"}, {"start": 1730.8, "end": 1737.12, "text": " to a calculator, we detect that the language model wants to do work, we just take it to a calculator,"}, {"start": 1737.12, "end": 1742.8, "text": " take it to a calculator, we take the result, put it down here as the result. And then we go on"}, {"start": 1742.8, "end": 1748.8799999999999, "text": " language, language model inferencing, the same if the language model is supposed to write a program."}, {"start": 1748.8799999999999, "end": 1757.36, "text": " For example, here is a example. This is the prompt that you would put into the language model or a"}, {"start": 1757.36, "end": 1763.12, "text": " data point question, a needle is this long, it rests on a water surface. So this is kind of a"}, {"start": 1763.12, "end": 1769.36, "text": " physics problem. And instead of just giving the answer right here, you introduce this work block."}, {"start": 1770.3999999999999, "end": 1776.6399999999999, "text": " Now, the language model, you would ask the language model to come up with all of this right here. And"}, {"start": 1776.6399999999999, "end": 1783.1999999999998, "text": " during training, you train it to come up with all of this. But then during inference, you can simply"}, {"start": 1783.1999999999998, "end": 1788.7199999999998, "text": " take this right here, the program that the language model writes, and we know they're quite good,"}, {"start": 1788.72, "end": 1796.08, "text": " you can take it, and you can actually go and run it. And you can put the output into output.txt."}, {"start": 1796.08, "end": 1803.92, "text": " And then you have the correct answer. So this work block is half instruction to the language model"}, {"start": 1803.92, "end": 1809.84, "text": " that now it's time for step by step work to use external memory to use external programs and so on."}, {"start": 1809.84, "end": 1817.3600000000001, "text": " During training time, you just let the language model train language modeling, right? So the"}, {"start": 1817.36, "end": 1823.28, "text": " language model, essentially would have to decide what's the output of this Python program? Like,"}, {"start": 1823.28, "end": 1830.08, "text": " what answer am I going to get right here? Which sometimes might work and sometimes might not."}, {"start": 1830.08, "end": 1835.04, "text": " However, during inference time, you can now go and actually execute the Python program that the"}, {"start": 1835.04, "end": 1842.7199999999998, "text": " language model writes and give it the real result. This is very powerful. I really like this approach,"}, {"start": 1842.72, "end": 1848.88, "text": " I really like this approach of including external tools to essentially do that at inference time,"}, {"start": 1848.88, "end": 1854.48, "text": " because using external tools at training time is going to be very, very hard. But in this way,"}, {"start": 1854.48, "end": 1859.1200000000001, "text": " you can just train language modeling, and you can do it at inference time. All right,"}, {"start": 1859.76, "end": 1866.0, "text": " the question is, obviously, we need training data for this, we need training data that has some sort"}, {"start": 1866.0, "end": 1874.08, "text": " of input, then has a clear description of what the step by step work is to do, including writing a"}, {"start": 1874.08, "end": 1879.44, "text": " Python program, executing a Python program, and so on, a description of when the work is done,"}, {"start": 1879.44, "end": 1886.32, "text": " and then the the answer right here, most, most things that we're going to find in training data"}, {"start": 1886.32, "end": 1891.92, "text": " does not contain any of this stuff in between right here. And if it does contain it, it contains it"}, {"start": 1891.92, "end": 1897.28, "text": " in a very, let's say, abstract form, or also textual form, not exactly in the form that we"}, {"start": 1897.28, "end": 1904.0, "text": " needed. This is one of the big problems right here. And they say that they have some data set,"}, {"start": 1904.0, "end": 1909.3600000000001, "text": " for example, con problems, as I understand it, these are exactly such math or physics problems,"}, {"start": 1909.3600000000001, "end": 1917.04, "text": " where it's really step by step described how you would go about it. And by taking those, they can"}, {"start": 1917.04, "end": 1922.96, "text": " do sort of a templating approach where they generate data in this form. And they criticize"}, {"start": 1922.96, "end": 1928.96, "text": " themselves a little bit here, in that they say this is way too few, this is not very diverse,"}, {"start": 1929.76, "end": 1934.24, "text": " they say here, notably, our work prompt data sets are not very large or diverse,"}, {"start": 1934.24, "end": 1940.6399999999999, "text": " there are likely large further gains to be made with this approach. And I agree an approach like"}, {"start": 1940.64, "end": 1949.2, "text": " this, or this approach in particular, is probably going to, to lead to a very good interaction of"}, {"start": 1949.2, "end": 1955.2, "text": " language models with external tools. And I'm very excited to see what people can make of it. But for"}, {"start": 1955.2, "end": 1961.68, "text": " now, we have these few databases of these problems that let the language model know that there is"}, {"start": 1961.68, "end": 1969.2800000000002, "text": " such a thing as a work block, where it needs to do work by itself, and where we can optionally at"}, {"start": 1969.28, "end": 1974.8, "text": " inference time go in and actually sort of do the work for the language model that requires some"}, {"start": 1974.8, "end": 1982.48, "text": " external tool like a calculator, or a Python interpreter. Okay, let's go on to the citation"}, {"start": 1982.48, "end": 1988.32, "text": " prediction. I've already mentioned that a little bit. So here, you would reformulate text with"}, {"start": 1988.32, "end": 1992.8, "text": " citations as such you'd say, okay, recurrent neural networks, long short term memory, and then here"}, {"start": 1992.8, "end": 1998.56, "text": " is a start of a citation. So there's a start ref token, then the specific format they use is the"}, {"start": 1998.56, "end": 2007.36, "text": " title of the paper, followed by the first author name, and then an end rev token. This, they say"}, {"start": 2007.36, "end": 2013.6799999999998, "text": " they've tried different things, including, like, including trying some some predictor right here,"}, {"start": 2013.6799999999998, "end": 2020.24, "text": " some numerical identification of the paper, but in the end, the title and name actually worked"}, {"start": 2020.24, "end": 2027.2, "text": " better. And you can understand why because not only is the title, a hopefully unique identifier"}, {"start": 2027.2, "end": 2034.56, "text": " for a paper and the author, but also the text of the title gives some topical hints. So I can"}, {"start": 2034.56, "end": 2041.1200000000001, "text": " definitely see why there would be a better prediction accuracy if the title text has actually"}, {"start": 2041.1200000000001, "end": 2048.08, "text": " something to do often with what the paper is about. And likewise, the author, the author has"}, {"start": 2048.8, "end": 2054.7200000000003, "text": " associations usually with the same field, there's rarely an author that goes from field to field to"}, {"start": 2054.72, "end": 2060.16, "text": " field and contributes a little bit to biology and a little bit to graph algorithms and a little bit"}, {"start": 2060.16, "end": 2066.56, "text": " here. Usually, authors have their topics, and therefore, also that the names of the authors"}, {"start": 2066.56, "end": 2072.3199999999997, "text": " to be available allows the language model to learn to associate these names with given,"}, {"start": 2072.3199999999997, "end": 2079.2799999999997, "text": " with given topical textual topical things in the text. And that's why it's also really cool to"}, {"start": 2079.28, "end": 2085.0400000000004, "text": " think of this as a related work finder and things like this, an expertise finder, right? You can"}, {"start": 2085.0400000000004, "end": 2091.52, "text": " essentially just ask, you know, which authors are really good at the topic I'm looking at currently,"}, {"start": 2091.52, "end": 2095.36, "text": " because you just predict a bunch, and then you see which authors often appear."}, {"start": 2096.6400000000003, "end": 2104.0800000000004, "text": " So that's how they introduce citations. Now, they also go into other things like how they include"}, {"start": 2104.08, "end": 2109.6, "text": " proteins and chemical sequences. And I want to go into that. But an interesting thing they do"}, {"start": 2110.56, "end": 2118.0, "text": " is that they do what they call prompt pre training. Now, they have this little graph right here,"}, {"start": 2118.0, "end": 2122.72, "text": " where they show here is pre training, that's where you just do language modeling on the large"}, {"start": 2122.72, "end": 2128.48, "text": " corpus as it exists. And over here is fine tuning, where you really, you know, take the head off and"}, {"start": 2128.48, "end": 2133.52, "text": " train a new head to predict the classifier or something like this. In the middle, there is"}, {"start": 2133.52, "end": 2138.16, "text": " instruction tuning. So that's where you take the language model. And after you've trained it,"}, {"start": 2138.16, "end": 2144.48, "text": " you go and you fine tune it. But you don't fine tune like a classifier head, you still fine tune"}, {"start": 2144.48, "end": 2150.88, "text": " it as a language model. However, you include now some prompts for the tasks that you want. For"}, {"start": 2150.88, "end": 2156.24, "text": " example, if you want to do, I don't know, for example, this reference prediction, you would"}, {"start": 2156.24, "end": 2160.88, "text": " include the prompt that says something like we'll do a reference prediction or something like this"}, {"start": 2160.88, "end": 2165.76, "text": " for the task that you're interested in. Again, this is still language modeling, but it is fine"}, {"start": 2165.76, "end": 2171.36, "text": " tuning, because now you're only training for the tasks that you intend only on the data sets that"}, {"start": 2171.36, "end": 2176.88, "text": " you intend. This leads to an improvement in performance on those particular tasks, but to a"}, {"start": 2177.52, "end": 2183.76, "text": " probably not so good model in the rest of all the tasks. The other way you can do it is prompt"}, {"start": 2183.76, "end": 2189.36, "text": " pre training. And that's what Galactica is doing, which essentially just means they do the same"}, {"start": 2189.36, "end": 2194.8, "text": " thing as instruction tuning, but they do it at training time. So they just take a bunch of"}, {"start": 2194.8, "end": 2202.7200000000003, "text": " samples that also have an instruction prompt in the data point, like, you know, do this,"}, {"start": 2202.7200000000003, "end": 2208.88, "text": " solve this math exercise, rewrite this code or something like this, or even the step by step"}, {"start": 2208.88, "end": 2217.76, "text": " whatnot prompt, and they just throw that in sometimes into the training data set, just so"}, {"start": 2217.76, "end": 2224.1600000000003, "text": " that the model gets used to seeing this kind of instructions. And that tends to work quite well,"}, {"start": 2224.1600000000003, "end": 2229.5200000000004, "text": " and also tends to not be that intrusive to the rest of the function of the language model."}, {"start": 2232.0, "end": 2236.6400000000003, "text": " I found pretty interesting this short section on the architecture right here, some noteworthy"}, {"start": 2236.6400000000003, "end": 2245.2000000000003, "text": " things is no biases. This, it seems like the if you make your models large enough, then you get away"}, {"start": 2245.2, "end": 2250.48, "text": " with essentially streamlining more and more, you know, with the small models, we have to have"}, {"start": 2251.04, "end": 2257.68, "text": " adapters and this and the convolution and the weight tying and whatnot. And the larger the"}, {"start": 2257.68, "end": 2262.24, "text": " models get, the more you just want to do matrix multiplications and anything that gets in the way"}, {"start": 2262.24, "end": 2271.04, "text": " just gets in the way. So biases out the window. They have a Gelu activation, which is sort of a"}, {"start": 2271.04, "end": 2277.36, "text": " smooth version of a Relu, which makes things a little bit less jaggy, I guess, which might come"}, {"start": 2277.36, "end": 2284.88, "text": " in handy, depending on the optimizer you use. They have learned positional embeddings, which again,"}, {"start": 2284.88, "end": 2290.4, "text": " as your stuff gets larger, you just want to straightforward learn a lot of stuff instead"}, {"start": 2290.4, "end": 2296.48, "text": " of using they said they tried Alibi, which are these sort of relative positional encodings."}, {"start": 2296.48, "end": 2304.08, "text": " And that apparently did not work. And they use byte pair encoding for vocabulary. I don't think"}, {"start": 2304.08, "end": 2313.68, "text": " that's too special, honestly. Let's go down. Now we come to the results. And their main result is"}, {"start": 2313.68, "end": 2319.92, "text": " really this repeated tokens considered not harmful. With repeated tokens, what they mean is that they"}, {"start": 2319.92, "end": 2326.2400000000002, "text": " not only train for one epoch, as you can see right here, every one of those dashed lines is one epoch."}, {"start": 2326.24, "end": 2333.6, "text": " And they train for multiple epochs. Usually, it's being said that that is kind of hurtful to train"}, {"start": 2333.6, "end": 2340.0, "text": " for multiple epochs. But it seems to be okay, in this case, as you can see right here, there is"}, {"start": 2340.0, "end": 2344.72, "text": " like a tiny bump, they even point this out in the text, there's a tiny bump right here, they say,"}, {"start": 2344.72, "end": 2350.7999999999997, "text": " this might be a double descent phenomenon, not super sure. And there's also sort of a bump right"}, {"start": 2350.8, "end": 2356.88, "text": " here. So they say we actually stop before that we early stop the run of this largest model before"}, {"start": 2356.88, "end": 2363.92, "text": " that. So it seems that even though you train on multiple epochs, because the code because the the"}, {"start": 2363.92, "end": 2373.44, "text": " text quality of the corpus is so high, it doesn't hurt to go over it multiple times. And only this"}, {"start": 2373.44, "end": 2381.68, "text": " largest model right here might be starting to overfit after epoch five, we don't know it might,"}, {"start": 2381.68, "end": 2387.52, "text": " and they'd rather early stop in front of that. If one of the authors is watching this,"}, {"start": 2388.16, "end": 2396.2400000000002, "text": " is this word overleaf here supposed to be in here? Like, example curves in figure 23 overleaf"}, {"start": 2396.24, "end": 2404.3199999999997, "text": " for the 30b model? I'm not sure. Maybe maybe overleaf has some other meaning that I don't know."}, {"start": 2404.3199999999997, "end": 2411.2, "text": " And that's actually a correct word. In any case, they say, they also investigate whether some of"}, {"start": 2411.2, "end": 2417.9199999999996, "text": " the losses, so maybe papers, maybe code and so on, are different from the others. And it hurts the"}, {"start": 2417.9199999999996, "end": 2425.2, "text": " more to be repeated in the data set, they say we see no signs of loss heterogeneity, the loss falls"}, {"start": 2425.2, "end": 2432.3999999999996, "text": " for all sources. They say we suspect there two factors could be at play, a quality factor,"}, {"start": 2432.3999999999996, "end": 2438.16, "text": " the curated nature of the corpus enables more value per token to be extracted, or a modality"}, {"start": 2438.16, "end": 2444.24, "text": " factor, the nature of scientific data enables more value of token, more value per token to be"}, {"start": 2444.24, "end": 2450.0, "text": " extracted. These two things, they're very similar, but essentially they say higher quality plus the"}, {"start": 2450.0, "end": 2455.28, "text": " nature of the domain itself, which I guess is also a bit higher quality, but in a different way,"}, {"start": 2455.28, "end": 2463.36, "text": " in that scientific discourse and literature often happens to be quite precise, very logical,"}, {"start": 2464.56, "end": 2472.8, "text": " very non-noisy in terms of linguistics and so on. Some people might disagree, but so they have"}, {"start": 2472.8, "end": 2480.1600000000003, "text": " these hypotheses, although they say they don't know how exactly that would lead to the, so they"}, {"start": 2480.1600000000003, "end": 2485.2000000000003, "text": " say the missing step of causation is what leads specifically from either factor towards less"}, {"start": 2485.2000000000003, "end": 2490.7200000000003, "text": " overfitting. We leave this question for future work. We note that the implication that the token"}, {"start": 2491.28, "end": 2496.96, "text": " goes to infinity, so you need infinite amount of training data focus of current large language"}, {"start": 2496.96, "end": 2503.12, "text": " model projects may be over-emphasized versus the importance of filtering the corpus for quality."}, {"start": 2504.08, "end": 2510.0, "text": " And yeah, I think we've seen a number of papers previously that essentially came to a similar"}, {"start": 2510.0, "end": 2518.2400000000002, "text": " conclusion, namely higher quality can make up for missing quantity. But what, which one is really"}, {"start": 2518.2400000000002, "end": 2524.0, "text": " the way to go? Like should we aim for more and more and more and more training data, or should"}, {"start": 2524.0, "end": 2529.28, "text": " we put more work into quality? Essentially, if you have a dollar to spend, where do you spend it?"}, {"start": 2529.28, "end": 2536.4, "text": " Right? We know that both things can make your model become better, but what's sort of the marginal"}, {"start": 2537.36, "end": 2542.0, "text": " value of more quality and the marginal value of more quantity? I think that's going to be"}, {"start": 2542.0, "end": 2550.16, "text": " the interesting question that has to be researched in the near future. So what's also interesting,"}, {"start": 2550.16, "end": 2556.3199999999997, "text": " this is Big Bench. They also evaluate on Big Bench, which is an NLP task. So not scientific,"}, {"start": 2556.96, "end": 2562.16, "text": " maybe some subparts are scientific, but not this is a general language model task. And they also"}, {"start": 2562.16, "end": 2568.3199999999997, "text": " perform quite well there. But I also find these curves. I think this is just what a Big Bench chart"}, {"start": 2568.3199999999997, "end": 2575.2799999999997, "text": " looks like. I find these curves like what was this? It's like, it goes here and here and here"}, {"start": 2575.28, "end": 2584.1600000000003, "text": " and here. Like, yeah. Okay, it's a bit noisy, to say the least. But I guess I've seen this multiple"}, {"start": 2584.1600000000003, "end": 2593.76, "text": " times now. And at least the average goes up. So I think that is a valid sign. They have a few more"}, {"start": 2593.76, "end": 2598.96, "text": " investigations. I don't want to go too much into them. But for example, you can see right here,"}, {"start": 2598.96, "end": 2608.56, "text": " they test on LaTeX equation prediction. So they give a prompt, the description of a formula or the"}, {"start": 2608.56, "end": 2615.6, "text": " name of an equation. And they see whether or not the language model can predict the correct equation"}, {"start": 2615.6, "end": 2622.4, "text": " in proper LaTeX. And turns out, yes, it can, it can actually do that a lot better than a lot of"}, {"start": 2622.4, "end": 2629.52, "text": " the other language models available, which is pretty cool to see a like that much of a significant"}, {"start": 2629.52, "end": 2635.92, "text": " boost over publicly available and proprietary models. Now, naturally, it's going to be,"}, {"start": 2636.56, "end": 2641.2000000000003, "text": " let's say, expected if you train on scientific text that it's going to be better on scientific"}, {"start": 2641.2000000000003, "end": 2646.2400000000002, "text": " text. But it's still cool that it's not just like a 2% gain, it's actually like a massive,"}, {"start": 2646.2400000000002, "end": 2652.2400000000002, "text": " massive gain. They also have investigations into this into reasoning, I don't want to go into"}, {"start": 2652.24, "end": 2659.04, "text": " into reasoning, but these are these are essentially these type of math problems like step by step"}, {"start": 2659.04, "end": 2666.9599999999996, "text": " reasoning problems that they solve using their work block tokens. And again, here, they do outperform"}, {"start": 2666.9599999999996, "end": 2677.12, "text": " other models, except like here at the fine tuned models are still seems to be still ahead. Although"}, {"start": 2677.12, "end": 2685.92, "text": " these are again, fine tuned. downstream scientific NLP, I want to jump a bit. This I found really"}, {"start": 2685.92, "end": 2692.64, "text": " interesting. This is the citation prediction task. And specifically, obviously, they do get better"}, {"start": 2692.64, "end": 2701.04, "text": " as the model grows. But specifically, what I found interesting is that the model initially is biased"}, {"start": 2701.04, "end": 2707.7599999999998, "text": " towards site towards papers towards predicting papers that have high numbers of citations"}, {"start": 2707.7599999999998, "end": 2714.56, "text": " already, which is reasonable, like a Bayesian would totally agree that if a paper is highly cited,"}, {"start": 2714.56, "end": 2722.72, "text": " then it's more likely, you know that the citation you want is that paper. Someone might criticize me"}, {"start": 2722.72, "end": 2727.52, "text": " for that statement, but in some way that is correct. And these models do obviously the same"}, {"start": 2727.52, "end": 2734.32, "text": " mistake, they predict papers with high citations, they actually over predict those. So here you can"}, {"start": 2734.32, "end": 2741.12, "text": " see the distribution of the ground truth of their citation prediction data set. And here you can see"}, {"start": 2741.12, "end": 2747.92, "text": " what the model predicts. So the model over predicts more high papers that are highly cited,"}, {"start": 2748.56, "end": 2754.16, "text": " which I guess you can't really fault the model. But what's interesting is as the model gets bigger,"}, {"start": 2754.16, "end": 2759.8399999999997, "text": " so this is the smallest, this gets bigger, gets even bigger, gets even bigger, you see that the"}, {"start": 2759.8399999999997, "end": 2767.3599999999997, "text": " this shifts gradually towards overlapping with the ground truth. So it means that the higher scale of"}, {"start": 2767.3599999999997, "end": 2774.72, "text": " the model that the larger the model is, the more competent it is also to recognize when maybe a"}, {"start": 2774.72, "end": 2780.7999999999997, "text": " paper that doesn't have as many citations should be cited right here, as a direct consequence of"}, {"start": 2780.8, "end": 2787.1200000000003, "text": " it having more parameters and more ability to remember things from the training corpus. Because"}, {"start": 2787.1200000000003, "end": 2792.32, "text": " some of these papers you can see right here, they're cited maybe 10 times, right, and some"}, {"start": 2792.32, "end": 2798.1600000000003, "text": " even lower right here, and the model actually predicts them correctly. That's really impressive"}, {"start": 2798.1600000000003, "end": 2805.2000000000003, "text": " that essentially it digests 100 billion tokens of scientific text. And it still remembers that this"}, {"start": 2805.2, "end": 2812.08, "text": " one paper was cited like three times with in this particular topic, and then correctly cites that"}, {"start": 2812.08, "end": 2818.8799999999997, "text": " paper at that place. I'm wondering how well the ground truth data here is, because the ground"}, {"start": 2818.8799999999997, "end": 2824.56, "text": " truth data got to be predicted by humans. And again, with the search engines that we have,"}, {"start": 2825.2, "end": 2833.7599999999998, "text": " I'm not sure humans could always find all the relevant things. But, or maybe humans disagree"}, {"start": 2833.76, "end": 2842.96, "text": " what what is relevant. I think the last years of reviews at machine learning conferences have shown,"}, {"start": 2842.96, "end": 2847.5200000000004, "text": " well, I guess all of scientific review has shown that humans can disagree quite heavily what should"}, {"start": 2847.5200000000004, "end": 2853.6800000000003, "text": " be cited. The last investigation is into toxicity and bias. They say we find Galactica is significantly"}, {"start": 2853.6800000000003, "end": 2858.48, "text": " less biased and toxic than existing language models, which again, might come from the fact"}, {"start": 2858.48, "end": 2864.56, "text": " that it's higher quality data, or more the scientific nature, which generally has less slang,"}, {"start": 2864.56, "end": 2872.32, "text": " less everyday conversation, less off the cuff stuff, and therefore might be a bit less high"}, {"start": 2872.32, "end": 2877.76, "text": " in these in these data sets. So they test a bunch of data sets, including including obviously"}, {"start": 2877.76, "end": 2886.4, "text": " truthful QA. And I'm happy to report that Galactica is the first large openly available language model"}, {"start": 2886.4, "end": 2895.6800000000003, "text": " that beats in its largest instances that beats GPT-4 channel and truthful QA. So good job. Well done."}, {"start": 2895.6800000000003, "end": 2903.84, "text": " I'm that this is this is a moment of of joy to me that it's finally been surpassed. Now, the"}, {"start": 2903.84, "end": 2910.64, "text": " interesting thing is that usually truthful QA is adversarially adversarially constructed in such a"}, {"start": 2910.64, "end": 2918.96, "text": " way that the larger the models get, the worse they get on truthful QA. And you can see that this model"}, {"start": 2918.96, "end": 2925.6, "text": " right here doesn't follow that trajectory. Now, we've seen other models in the past that also"}, {"start": 2925.6, "end": 2932.48, "text": " have that property. But truthful QA is specifically adversarially constructed for things like GPT-3."}, {"start": 2932.48, "end": 2940.64, "text": " And that means that Galactica is significantly different from GPT-3 that as it goes up in size,"}, {"start": 2940.64, "end": 2947.68, "text": " as it gets more performant, it also does get better or more performant on on these whatever the"}, {"start": 2947.68, "end": 2953.36, "text": " task considers truthful. So it will be really interesting to actually investigate what's"}, {"start": 2953.36, "end": 2960.64, "text": " happening here. But I'm not going to do that. I'm just happy that this now turns out."}, {"start": 2960.64, "end": 2966.16, "text": " Lastly, they say, we show that language models are surprisingly strong absorbers of technical"}, {"start": 2966.16, "end": 2973.04, "text": " knowledge. They tend to scale smoothly with model size. We demonstrated this for a citation"}, {"start": 2973.04, "end": 2978.8799999999997, "text": " prediction where a language model outperforms tuned, sparse and dense retrieval based pipelines"}, {"start": 2978.8799999999997, "end": 2985.52, "text": " for this tasks. And this, as I said, previously, at the beginning of the video, this is really,"}, {"start": 2985.52, "end": 2995.7599999999998, "text": " really interesting that essentially this beats search engines for citation prediction. And it"}, {"start": 2995.7599999999998, "end": 3002.8, "text": " would be interesting to see how good humans are like a human plus a search engine like the archive"}, {"start": 3002.8, "end": 3010.24, "text": " search field, or a human plus Galactica for finding correct references. I'll be super interested"}, {"start": 3010.24, "end": 3017.12, "text": " at which combo is better right there. Because, again, the tools alone, they don't do stuff,"}, {"start": 3017.12, "end": 3021.6, "text": " it needs to have a human in the loop and that human can always make decisions. It would be"}, {"start": 3021.6, "end": 3027.7599999999998, "text": " really interesting to use this right here as a tool rather than just, you know, it's either all"}, {"start": 3027.7599999999998, "end": 3035.68, "text": " or nothing either the model writes the paper, or the humans do. So that was it for this paper. The"}, {"start": 3035.68, "end": 3040.64, "text": " last challenge, I guess, is to find out which parts of the paper that were actually written by"}, {"start": 3040.64, "end": 3049.12, "text": " Galactica itself. I hear that the part of the abstract may be written by Galactica, although I"}, {"start": 3049.12, "end": 3058.72, "text": " don't know. And I don't know if the authors will ever will ever lift that secret. Let's hope they"}, {"start": 3058.72, "end": 3063.9199999999996, "text": " don't because I like the mystery. Alright, this was it for me. Sorry for the bit longer rant at"}, {"start": 3063.92, "end": 3069.36, "text": " the beginning. I still hope you enjoy this. I think this is a really, really promising direction."}, {"start": 3070.16, "end": 3076.56, "text": " It raises a lot of really interesting points about quality of data, quantity of data, and about,"}, {"start": 3076.56, "end": 3082.08, "text": " you know, doing scientific work itself. This could be a really powerful tool for scientists of the"}, {"start": 3082.08, "end": 3088.7200000000003, "text": " future. And I'm waiting for the next iterations of it. Leave comments if you have comments. Thanks"}, {"start": 3088.72, "end": 3094.72, "text": " for watching. See you next time. Bye bye."}]