Amber Teng - Building apps with a new generation of language models
51:22

Amber Teng - Building apps with a new generation of language models

Towards Data Science 05.10.2022 1 046 просмотров 16 лайков

Machine-readable: Markdown · JSON API · Site index

Поделиться Telegram VK Бот
Транскрипт Скачать .md
Анализ с AI
Описание видео
Joining Jeremie Harris this episode is Amber Teng, a data scientist and TDS author (and former editor!) who recently published a blog that got quite a bit of attention, about a resume cover letter generator that she created using GPT-3, OpenAI's powerful and now-famous language model. They discussed the applied side of language modelling and prompt engineering, understanding how large language models have made new apps not only possible but also much easier to build, and the likely future of AI-powered products. Intro music: ➞ Artist: Ron Gelinas ➞ Track Title: Daybreak Chill Blend (original mix) ➞ Link to Track: https://youtu.be/d8Y2sKIgFWc 0:00 Intro 2:30 Amber’s background 5:30 Using GPT-3 14:45 Building prompts up 18:15 Prompting best practices 21:45 GPT-3 mistakes 25:30 Context windows 30:00 End-to-end time 34:45 The cost of one cover letter 37:00 The analytics 41:45 Dynamics around company-building 46:00 Commoditization of language modelling 51:00 Wrap-up

Оглавление (13 сегментов)

Intro

hey everyone and welcome back to the towards data science podcast and if you're watching this on YouTube by the way you might have noticed that I'm in a different room than usual for fun logistical reasons but we'll be back to our usual setup next time with better lighting and plants hanging in the background and all that good stuff but I'm excited to be here today because this episode is going to be a little bit different from the ones that we've been recording recently where historically we've been focused on the teams and the people building the world's most powerful AI systems now today we're going to be looking at the more applied side of that story how these systems can actually be used by Everyday People to build useful and Powerful apps so my guest today is Amber tang and she's a data scientist who recently published a blog post that got quite a bit of attention about a resume cover letter generator that she created using gpt3 openai's powerful and now somewhat famous language model now I've actually known Amber for quite a while now and I thought her project would make for a great episode because it explores so many of the challenges and opportunities that come with the new era of powerful language models that we've all just entered so today we'll be exploring exactly that looking at the applied side of language modeling and prompt engineering understanding how large language models have made new apps not only possible but also downright easy to build and the likely future of AI powered products all that and more on this episode of The Tortoise data science podcast all right well Amber thanks so much for joining me for the podcast here thank you so much for having me I'm super excited to be here and also like get back in touch with TDS and obviously like love talking with you so really appreciate it yeah for context for listeners so Amber actually I used to work at towards data science did some editorial work there so it's a bit of an Insider baseball moment here but I thought that you had such an interesting story to tell not just in terms of your journey into data science and all that stuff but your recent application of gpd3 for a really practical project and we're gonna dive into that um I want to start though by talking a little bit about your story and how you kind of came to the world of data science because it is kind of unusual and interesting and I think it shows the breadth the kinds of people that can be brought into the fold when it comes

Amber’s background

to data science and then the impressive things that they can learn to do relatively quickly with determination so can you share a little bit about like what brought you to data science what brought you this world to begin with yeah absolutely so great question and thank you for being interested in that um I always joke that I used to write papers not code but here I am you know um I actually majored in economics and Archeology in college and I remember I actually the first time I heard about the term data science was at a hackathon um to be honest I went because there was like free merch and free food it was one of those like very you know a senior year let's go and get out of our comfort zone kind of things right but when I got there I learned so much I met so many great people and I think that was like my first like foray into coding and what really interested and inspired me is that even with just like 24 to 48 hours of like coding knowledge we were able to build something super cool and that like building quickly um kind of thing building MVPs with like basic knowledge like learning as you go um it really inspired me it really motivated me I have always loved building things but this was the first time that I was able to kind of take code um you know and use it to apply it to like a sort of interdisciplinary field most of the people on my team at that hackathon had also never really coded before um so it was at Hackett Brown which is known to be very friendly to you know non-cs Majors um and yeah it was just like a great experience and because of that I started going into Data uh driven storytelling understanding kind of how these interests intersected um so from data science to economics to archeology like how do you tell people stories um using data and that's sort of how I got um into the field and the rest is history so it's been great yeah I mean it I think it really does highlight again that breadth of experience that can serve your data science ambition and journey and I think it's also a testament to how far the Technologies come like as you mentioned you take a 48 Hours of coding experience and you can translate that into meaningful um visualizations meaningful even meaningful AI models these days and I think that's part of what gets us into the story of what you've built recently with gpd3 which got quite a bit of attention this idea of building a like a resume cover letter generator using gpd3 and I want to go to get into the nuts and bolts of this but I also want to make sure that we're focused on the big picture too which I think is this era of Highly accessible AI powered software generation tools and um for context there like you know I think it's amazing how easy to use these tools are it's hard to emphasize that enough but um was this your first project with gpd3 that you built like how much ramp up time did it take for you to start to do valuable things with the tool yeah great question actually this is my very first time using a language model as vague as gpd3 I haven't like touched it before

Using GPT-3

um you know I watched a few videos um specifically like Jay alamar's videos on like what is gpd3 kind of like the basic stuff like that but I've never like built anything with it um in terms of like the ramp up time it was actually pretty quick I was surprised myself I thought it would take a long time given how complex the model was and given all the like research and given the paper as well the paper was very um you know as someone who is just getting started with bigger language models like this it was pretty dense to read but really interesting and so I was surprised that it only took a few lines of code to actually generate a cover letter generator like I did right um open a open air has a school thing where they have like a playground where you actually don't even need the code you just enter a prompt and it um you know gives you the result back so that's actually how I started with uh cover letter generator and when I saw that the prompts were working I was like can we productionize this into a tool okay right and actually that little detail I think is actually a really big deal right because what you've just talked about is a fundamental change in the order of operations that goes into building products with AI like it used to be that you'd have to build the entire AI system yourself and then cross your fingers and be like I hope this works for my use case but now as you describe like you just go to openai playground you play around with it a little bit you go okay yeah it works for my thing now let's invest time into actually building out the application and it totally de-risks this like that seems like a really big deal yeah absolutely and actually when I learned uh machine learning and deep learning in grad school we did most things from scratch like I remember trying to implement you know like linear regression and decision trees um directly from numpy without scikit learn like they weren't allowed to use so I could learn in class right so it was coming from that perspective of okay like you need to understand like all the math behind this when you understand the math translated into code and then see if it works and then tweak it to your purposes so this was um completely different from that approach in the sense that it was more focused on the end result pretty early on right like I felt like I was building things kind of like top down I was like okay like I am sort of on the in the job market again I like want to apply for jobs but one of the things that I don't really like doing is writing cover letters I don't know if people actually read it but sometimes it's required so is there any way that I can make this process easier not just for me but everyone who is in the job market it right now like the great resignation was definitely a thing and I'm sure people are trying to you know amp up their CVS cover letters resumes so on and so forth um and I was like a good place to start is cover letters because the text that you have and cover letters I think is pretty standard as compared to like resumes which have you know more diverse formats so from an SP perspective I feel like it was simpler to start there um and then yeah just using like the tools that were available like open AI um to be honest I think there's a lot more um a lot more platforms a lot more language models but it was just the most like popular to me at that time not filming much about um these types of like Frameworks yeah and I mean I think you're onto something there too you know it seems like there's been such a proliferation in these tools we've got AI 21 Labs you've got code here we got open AI we've got all these different uh services that offer kind of fundamentally the same thing it's almost hard to know which one to use at a certain point you just get started I'd love to understand better like so with this cover letter generator can you walk us through like what are the inputs that the user provides and then what ends up getting generated specifically yeah so when I first started it my first prompt was pretty simple it was just like generate a cover letter for a person applying for a machine learning role or like data science role and it was that simple right and I think it was cool to see the results but what I wanted to add was a bit more personality right like what I was seeing is that the cover letters it would generate you know they were pretty good but it was along the lines of like okay like dear hiring manager yeah so it was very generic it could be for ML anything um and the only thing that made it that made the cover letter seem like it was for an ml roles uh like a single line I would say something along the lines of like I am applying for a machine learning role and everything else is generic or like half made up like you know they make up some like place I graduated from which I didn't like study at all you know what I mean um and given that I actually wanted to use this I was like what inputs um do we want to have so I ended up with a few inputs um for the final cover letter generator and they are um so first company name um the role you have the role that you're applying for who you're trying to talk to contact person this could be like the actual name of the person or the role they have like you know maybe technical hiring manager or like director of data science something like that um your name of course um and then uh personal experience so I added this again because of that like um interest in making it more customized more personalized more relevant to whoever is writing it it's not just like a generic out of the box cover letter is actually relevant to your experience right and then I included something called job description but given that there's like a limit on tokens and I also didn't want to use up all of my like free tier options um like I just made it a question of like what are you excited by right and then added information there and so what is the last thing okay no the last thing I was going to add is like passion right so like what are you passionate about and I added this based on feedback from a friend I had people like beta test my cover letter generated for fun and they were like dude you should add something about like what people care about what they're passionate about because like honestly it's pretty generic and so that's how I ended up adding that okay very interesting and how did all this information then get squeezed into the prompt like I imagine you probably experimented with different kinds of prompts like what did you end up landing on and can you speak a little bit of that prompt Engineering Process yeah absolutely so like the specific prompt is like write a cover letter to person from myself for a blank roll job at the company name and I have experience in whatever their in personal experience and I'm excited by the draw about the job because so on and so forth um and anything that they add on fashion which is uh an optional field I left it optional because of the token thing but yeah it was actually as simple as that like I it wasn't you know like I think is the prompt written in first person sorry so like is it like write a pro uh write a cover letter for me like is it framed that way or interesting okay so it's because like the way I was thinking about it like when I write my cover letters I like write in first person like dear Jeremy I would like to apply for a role at like sharpest Minds for example right but I was sorry I was wondering about the Prompt itself like when you're giving your instructions to gpd3 uh are the instructions written like in first person like do you say um you know write a cover letter for um you know from Amber Tang to so and so um I guess I'm wondering yeah how do you feel in the experience does the experience like it is in first person which is like actually that's a really good point but it isn't first person I I'm I think an interesting experience is to see what would happen if it weren't in first person but like right now it reads us like I have experience in like maybe NLP or like fintech and I'm passionate about blah and I guess it's the reasoning behind that is like when I was thinking about how I write my cover letters like naturally that's what I would do um and it's interesting with like the generation piece as compared to like text completion like how prompts are written I was reading a bit more about like you know creating like the appropriate prompt like what context you need how much context you even need to add um and to be honest with you like this cover letter generator it was sort of like uh I don't want to say like Baseline project but basically it's like how can we build something that goes 80 percent that does the job and like the least possible time so I was just like okay let's just like put something together so I can start applying for jobs um and so that's why a lot of it is very like I didn't like fine tune it or anything which is another area in my roadmap that I'd like to do actually I have a bunch of um ideas on how I want to expand this in the future as well so well I'd be curious to hear what those are especially through the because the way you've described it so far right you started by saying I just ask gpd3 to write a cover letter for a machine learning engineering job which I find that fascinating because it's this kind of iterative process where you start with a very simple request and then you start to build your prompt up which seems like a really interesting prompt engineering best practice is that something that you found kind of useful to zero in gradually on where you want it to go and where else would you

Building prompts up

see that going to keep the prompt you know not too simple but also not too specific is that when it was too simple the result was too generic you know it would say okay this person graduated from like Stanford clearly I didn't go to Stanford right um but if it was too specific it would take the text verbat them in my prom just print that out and I was like okay well the whole reason I want this cover letter generator is so I don't have to write it right so but if I'm writing the whole thing then it's basically not that useful so this is like an interesting in between um in terms of like other things that I wanted to explore but haven't gone to doing it uh one thing I noticed about the cover letter generator is you know there is a limit on like tokens right so I tried like four different like models uh that open AI allows us to use um DaVinci is the one I like the best because it has like the highest um token count so you can create like longer cover letters um you can probably the other models are useful if you want to do like LinkedIn code email or LinkedIn like code message something like that so if you're limited by like character count right uh but if you want to do like a literal cover letter or like cold email that's a bit more um that talks a bit more deeply about your experience probably DaVinci might be the most flexible also like the most creative but yeah it was hard to include everyone's experience in that tiny like sliver of text right so I was thinking is there a way or like an option for users to like upload either like their um you know resume or like upload their prior cover letters or like prior experience maybe LinkedIn profiles and can we summarize what's on there um to create like a relevant prompt right because right now I feel like if people type in verbatim it becomes too long right so but if we use text summarization for example we might be able to like limit the word or character count such that it doesn't exceed the number of tokens required the number of like Max tokens within open AI but we can still like include their personal experience this is sort of a two-step process here where like you start with the full let's say the you take one of my cover letters for a job you turn it into like a three sentence summary and then feed that back to gpd3 and say hey adapt this for a new kind of job so gp3 is almost doing like it's almost like translation in a way at that point yeah exactly the other thing I wanted to do uh so the job description portion I do find that especially with you know maybe like cover letter or resume screeners right now they care about you know keywords SEO that kind of thing which historically I've like struggled with because how do you know what the keywords are in a piece of text right so maybe there's a way to also like add uh an HTML reader or like a way to like upload like here's like the Job Link uh take the text like from this like job description and pick the most important keywords and then you know add that into like a prompt so like maybe the most important skills are like Pi torch tensorflow right and if that's something that like you have in your Tech stack if it matches like what you had in your resume then like include that in the prompt very good it makes a ton of sense and actually so this makes me wonder more generally like are there any best practices for prompting that you picked

Prompting best practices

up on that you kind of realized oh you know what this like I'm gonna take this with me from now on this is something that I'm going to use anytime I interact with a large language model like this were there was there anything that kind of jumped out at you like that yeah super prompting it was really interesting um to be honest I think the biggest one is like knowing what to like what parameters to adjust and when and also looking at like just like how you phrase the prom right so for example like I would do like I had a an experiment where I would be like write a resume for blah blah and like the results weren't as good because compared to like write a cover letter um and I think the reason being you know maybe the format of resumes the format that they were coming in were not as standardized as how cover letters were also like given you know what is gpt3 like trained on right um I think the other thing that I looked at in terms of like writing prompts and not just like writing prompts but like looking at like the model as a whole so there's like another like parameter called temperature and I think uh you know playing around with that parameter a bit it kind of gives you like either more creative or like more safe and quote unquote like accurate um results so my GB D3 like cover letter writer actually has like a very like high temperature so if your temperature is like closer to like one for example um then it gives you more creative results so there's like higher risk but also potentially like higher reward there so it sounds like the temperature piece connects back to something you mentioned earlier where you know in the prompt if you're too specific if you say like write a cover letter for um uh for you know for this role at this company and like I have a I have a background you give it like three sentences of specific background if the temperature is too low the model is going to play it safe and it's just going to go okay well I'm just going to copy paste that chunk of stuff whereas a higher temperature maybe kind of gets its experiment more and get a little bit more jiggy with it and like it also like sites like other interesting things like there was like a cover letter where it actually cited like languages so I was excited about that like decided that I knew python I'm like okay check and like some other things some of them I don't really know but you know um the other like parameters that I thought were helpful included like frequency penalty or like presence penalty so those two uh I think they kind of show or like penalize the model if they like repeat the words that they use so your model might be more likely to include new ideas right so for example like if you're writing about like an ml hero maybe like in one part of the model it talks about like you know your engineering and research background on the other part of the result talks about you know ml Ops for example so like different ideas you're not really repeating the words too much and you're getting like different kind of like Concepts as well um and yeah like you mentioned as well like picking up prompts that's not overly specific but that's also not to a broad yeah there's that sweet spot of like what gpd3 can actually help you with presumably language models are getting better and better at that that window is going to get bigger uh but it it's an interesting thing to kind of navigate thinking conceptually like how do I scope out my problem such that it it's got the right size and shape for gpd3 to help with and yeah not too specific not too complex um were there any interesting kinds of mistakes that you found gpd3 would make besides just like literally copying the Prompt like where the yeah yes

GPT-3 mistakes

there's a few and like you know just add to that I think the sweet spot for this specific like generator that I have so far um obviously without fine tuning just like out of the box was like three seconds any less it was like not specific enough anymore it was way too specific so three sentences it's like what worked for me particularly um in terms of the results so it depends on the model that we're using right so what I found is that like for example if you're using like DaVinci like some of the when it gets like too creative for example some of the mistakes it's made is like it referred to me as like mail for example or like assigned a gender to you know whoever I was referring to so like Dear Mr blah blah and I was like wait they're just like not a sign you know just like leave it at a name or whatever and the other things that it would make mistakes are uh it would add experience to the you know my experience which is not like my experience like it would say something along the lines of oh okay I studied computer science I actually did not study computer science even though I'm working in data science or I would say something along the lines of like okay she went the MIT which is right interesting but quite random um the other thing that I noticed like when using other models for example like Curie was really cool but because it had like fewer tokens like it would actually print out bullet points for me instead of like paragraph form which is yeah okay because yeah of course so um you know for folks who aren't super familiar with gpd3 so uh Da Vinci is the biggest fully scaled version of gpd3 it's the most expensive one on a token by token basis and then Curry is sort of a smaller one um interesting that kind of gets reflected in this the sorts of completions that the model will recommend because it's kind of like what it's comfortable with the bullet points or maybe a more friendly format that's that's interesting did you ever run into oh sorry I was gonna say that it was also like pretty generic so you know how like I mentioned earlier with um Da Vinci it would be more creative assign additional experience I didn't have to myself yeah um so the cover letter is from Curie they sort of at least the ones I've seen so far and again like every time um every time I kind of enter a different prompt like we get a different result so it's not like I did like a super clean every single prompt I entered like I recorded it that's like in my pipeline but like it was interesting that the results for QE seemed to me that they were closer to a job description than they were to a cover letter so an example is it would give a bullet something like experienced using R and python for data analytics and so that's really feeling directly like what you take from like a job description right it's so interesting yeah I wonder um I wonder if that's like it's failing to recognize the I mean with maybe better prompt engineering I wonder if it might start to perform better like if that represents an actual like limit on what the model can do that's one of the interesting things with these models too right because like there was often this controversy uh with gpd3 for example like does gpd3 know how to add numbers together right and people were asking that question and it's it seems to be the case that actually it kind of does but you have to ask it the right way you have to prompt it in the right way as people often say like prompting can reveal the presence of capabilities but not the absence of capabilities um I'm curious about the um the context window too like did you find that the context window became an issue like did you find that long cover letters for example started to become incoherent after a while was there a

Context windows

limit to how many words you get before you're just like okay this is getting a little off the rails yeah for sure like when the cover letters became too long so you know for me I really wanted to cover letter that was like longer than one paragraph right so definitely longer than that um but when they became too long though who would like experience assignment think a thing would occur and then they would also like I also found there were like a lot of like weird typos or like weird non-words that would show up I was curious about that because like I was using the same literally like the same prompt and I tried it across different models just to like see the results um and for reference DaVinci I think um has Max 4 000 tokens meanwhile all the other models um Ada Babbage and what is the last one there's another one named after another famous person Kiri yeah Curie so they all have like I think 2048 um like tokens right so box tokens so I don't know it was like interesting that like with those other three like the results were would get a bit random especially when the temperature was like much higher like I would get weird kind of um capitalization there was like this one cover letter I um tested on I think it was like Babbage and it like capitalized like user interface and just put it like in the middle of like my cover letter and like I'm not it wasn't even a sentence it was just like there randomly and I was like why interesting so would you say it's like the combination of high temperature plus a longer bit of text that's generated that's the danger zone okay yeah I think so at least for me but I mean you know I think there's a lot of like there's a lot more testing that needs to be done here but like for the instances I've seen um definitely that's definitely consistent with like a theoretical picture that you know with a higher temperature more originality and then the longer you let it go on it's I mean sort of like a human who rents and rents and then eventually the rent kind of goes off topic and you know we have our own coherence windows I guess I think the other interesting thing is like so most of the roles that I'm currently applying to personally are like machine learning Engineers engineering Roots um and I know that role was already like popular in 2019 but maybe it got more popular in 2020 and 2021 right so the other three models I think only have training data until October 2019. meanwhile DaVinci has training data on the if I recall correctly like June 2021 so maybe that's why like when I applied for ML Eros um the descriptions are a bit more personalized more specific when I use DaVinci compared to the other three so maybe that's another reason it's actually another really good tip for people working with these models too is like you know keep track of when it was last retrained like covid uh covid-19 uh is probably going to be something that's unknown to Babbage and Curry and so on so I remember that being a thing actually with even Da Vinci back in the day because they retrained it yeah a couple times and for you know for a while it would just kind of make up an answer if you ask it about covid-19 which is like depending on the application you're imagining for these systems like you got to think about that a little bit um I'm curious about the tools that you used to for this because like so we talked a little bit about you know the qualitative side like how this worked the kinds of yeah like what was so what was the stack how did you choose to put this together so to be honest again my Approach was like quick and easy get this done I like to apply for a job so I took like the path of least resistance so open AIS API that was like the core thing I literally didn't have to do that much work with it I just like you know entered a prompt um fixed up the parameters and then like used their API directly I didn't find tune although in the future I think it would be cool to like fine tune it on personalized like copper letters um and then the whole thing is written in Python and quickly very quickly deployed on streamlined so that's awesome yeah the streamlined deployment talk about like maybe an hour math so what was like what was your end to end like if you account for you know the hook up to the openai API The Prompt engineering and the streamlit uh deployment what was like your end-to-end time for this cover letter generator um so I think going through like the documentation for open AI I think that took me about like

End-to-end time

three hours and then I was having like a lot of fun but I don't want to waste all my credit so that's why I was like okay let's build quickly um so maybe like two to three hours for learning open Ai and then like deployment and stream it doing in Python maybe like one to two hours so it that's really fast so for people who have a little bit of context and I think like if five hours is it's incredible like I think if we you know if you told somebody in 2019 that this is going to be possible in five hours of work it would have been a research project that people would have had to do to put this together now granted you are a data science scientist you have a lot of experience writing code that sort of thing but you know I think it Bears kind of emphasizing just how like ridiculous this is and the wide range of apps you could imagine putting together on this amount of time like I'm sure there are a bunch of other ideas that you might have thought of that like could be thrown together basically as fast yeah it looks like a very Coffee caffeine-induced five hours but it was really fun like it was actually funny because like I you know I'm working like my main project um so I'm part of like the stripest minds a fellowship mentorship right now where we're building um kind of like data science end-to-end data science projects my main project is working on like a political tweet data set right so that one actually like took a longer time this one was like a break from my actual project so I was telling like my mentor I was like okay like I'm just gonna do something quickly to like clear my mind you know just like learn about different language models because he was having me read about like Transformers which I was kind of struggling with because I didn't have like a lot of like experience with that and so I was like okay let's go try to like build and apply and see what happens and like it's actually been more intuitive after working on the project even though I didn't understand every single math formula behind it now when I'm going back to it and like reading about it makes a lot more sense right so like Project based learning I think really helps and just like in data science I feel like that's the method that I find helps me learn the most and most quickly as well yeah and actually you know and I want a flag as well like I happen to know a little bit about Amber's brain and I think she's understating like the level of technical detail that she actually like she she's looked into this stuff and she understands the Transformer architecture quite well but um I do think that you're like you're making an excellent point like almost pedagogically like it kind of seems in a way as if language models have given a completely new Vector of approach for building value with AI systems like you no longer need to be technical to create value with these systems and in some sense like you almost don't even need to know what's under the hood like it's more of an engineering problem than a like a math or physics problem you're not building things up from the ground you're kind of tweaking something that already exists yeah and even with like these no code ml platforms I feel like it's like a similar approach right like compared to like learning how to like do ml models with just plain vanilla numpy right they're just like point then click um even now there are a lot of platforms for computer vision as well where you know to create bounding boxes you literally just like highlight which is you know that's a lot more efficient and from a user standpoint I think it helps our pipeline a lot but I think we also have to be careful right because now that we're letting basically everyone um use like AI machine learning deep learning and democratizing the industry we should also be aware of the different risks so one thing that I you know was contemplating when I was like looking at like open AI for example I think they do like a really good job of keeping the platform safe but I was like oh my gosh so like because you can also use um codex the right code you could literally write like a Spam bot on here be like write me some code to like spam someone's email all right you know something scary like that obviously I don't do that but I was like this prompt is so open-ended you could actually go and have the model do that so yeah I totally agree it's one of those things where it's almost like electricity you know it opens up so many different use cases it's a general purpose technology it's a dual use technology in the sense that you can use it for good or for evil and the same is definitely true of codex like you can accelerate software engineering work a time that's great but you can also accelerate the development of like malign software um and actually I guess relating to that the sort of democratization element how much did this cost like what was the cost of let's say generating one like one cover letter uh yeah so um either way from what I understand the way that open AI does this so to be

The cost of one cover letter

honest I haven't paid anything at all because they actually give you free credits so they give you like 18 and 18 goes a long way I was just like checking my like open AI dashboard earlier to see like if people were using it so on the blog post I kind of like allowed people that they use it but it's all tied to my API key API token yeah but it was like draining all my credits and um for like the past month um on average people have been using it maybe like 50 to 100 times per day I was just wow interesting like number of like queries right yeah um yeah and I'm only at 16 so that I think is saying something so I was looking at like one specific day where and I had like 46 requests um and for that day it only cost me like 64 cents so okay so roughly speaking if very roughly speed we're talking about 100 roughly 100 queries you know it's the upper end here but about 100 queries a day for 30 days it's like so you're talking about like 1500 to 3 000 queries for less than twenty dollars like this is that's a lot of cover letters yeah and the thing with like so sometimes it even went like I didn't look at every single day but sometimes like I would have days where it was like above 200 queries or like above 200 cover letters generated I'm just like okay people are like using this like too much like please don't drain my credits but yeah that's saying something because it's actually not that expensive like in my opinion right um compared to I mean I think if you're looking at like time versus money here like from an economic standpoint the time it would take me to write a specific cover letter to like 500 different companies versus assuming that this um You Know cover letter generator was fine-tuned and you know uh the results uh matched you know human-like text to the dot then it would be actually much cheaper to go this route versus like me writing 500 cover letters right and actually on that note I guess there's some metrics that you could imagine looking at to see for example is it because there's this weird Paradox right like usage for a system like this on the one hand is exciting because it implies there's a lot of people using it

The analytics

on the other it could also imply that people are not getting the result that they want and so they're re-running it do you have any sense of like you know analytically like how does that break down do you find that people keep sending the same prompt in for example which might give away frustration or lacrosse more different yeah so great Point actually that's one of the things that I wanted to encode in this but I didn't get the include I wanted a record of everyone's prompts and then their results but unfortunately I only got my prompts and my results and like my friends when they like beta test and complain about things so most of the complaints were really about uh yeah it's really related to like the prompt right so initially when I had a longer prompt so my first version of this it was like well my first version was like one sentence so two generics then my second version I was like okay specific to me and then I wrote like my entire experience blah and then I had like an option on streamlit which was like is this specific to everything yes or no and if it's yes the prompt completely changes right um but like what I would find with like my friends is they would complain about it being too much like not necessarily expand email but like something that doesn't sound human-like some of the sentences don't tie in together as naturally as they should um and I think my main metric if I had any about whether or not this cover letter was like cover letter generator was doing well it's like would I send this to someone yes I know right so it was a pretty basic metric for like a pretty quick project but I was like would I send this to someone yes or no and I think it was like more often than not even though the results were interesting the answer was still no for me right and I think that is kind of what you get from like out of the box models as well um you know it wasn't like I mentioned it wasn't fine she went on anything like I don't know like what data set uh it's looking at the create these cover letters aside from like literally almost everything on Wikipedia common crawl Etc so like everything but if we were able to like fine tune it on um so my University actually has a data set of like cover letters that they recommend so like Brown has like a cover letter like start a cover letter on PDFs unit on something like that and like maybe other universities have something like that then we'd know what a good cover letter kind of looks like right yeah and then yeah that makes it that makes a ton of sense and it also um it also makes you think about like well actually sorry one question then metrics wise you mentioned most of the time it's not sendable like do you have a sense of what fraction like was it a decent fraction of the time that you actually could send it or was it basically never I would say like one out of ten times I could send it but with tweaking additional tweaking on my part and the reason I say that is because like when I write cover letters or like you know cold emails like I like to be very specific like I know I'm from firsthand experience like nobody actually replies to you if it's like super generic so like I like to be very specific about why I'm passionate like about the role so on and so forth but what I found about like adding those things in is like again like the prompt was getting way too long and like it wasn't really reducing my work that much if I include like a whole paragraph of like I'm passionate about this job because right so to an extent it also begs the question of like how much can kind of like AI do and like when should you use it because yeah even though it's useful maybe it's not maybe we shouldn't be using it for every single thing right maybe some things are still better um you know done by hand I dare say um or like what kind of improvements can we make either the fine-tuning um to The Prompt or to like pre-training itself that would make um make a drastic improvement such that we can actually write send the book cover letters yeah and it does I think you're exactly right and it also speaks the ecosystem of companies too that are popping up around these kinds of um models because I remember when you announced that you built this thing I think somewhere I don't know if it was on Twitter or LinkedIn somebody had responded said hey like my company does this great to see what you're doing and I couldn't help but think looking at that I was like man like what a world we're in right now where first of all this person has an entire company that's basically just a rapper around gpd3 and they're dozens even hundreds of those that are basically just a glorified like thin prompt engineering wrapper around what is fundamentally just gpd3 or another language model but then second like what a world we live in that Amber in five hours is able to throw together like a competitor app that you know you're offering it for free but theoretically if you wanted to invest another weekend or so and to fine-tuning and whatever else you could have something that's maybe Market

Dynamics around company-building

competitive this seems to really change the Dynamics around company building it seems to personal software development like kind of for personal needs I don't know if you thought about that much but it was so striking when I saw your Tweet or your post yeah it was really interesting also because aside from like cover letter generators like I've also tried using open AI tpd3 for blog generation so I write you know a bit I haven't in a while but I'm trying to like get back to it like more regularly um and usually when I get like stuck somewhere like you know writer's block or whatever I was like okay can in gpd3 like write this paragraph for me like yeah I'm actually struggling right now and so I was like okay like write a paragraph about la and then I entered it and like you know it wasn't like 100 there but it gave me really good points that I could build off of right and so I think that even goes into the whole conversation of like plagiarism versus originality versus like can we use this is it especially for like writers who make money online um and content creators like is this still counted as like original content if you had cheap pt3 do it for you right and I believe opening eye requires attribution in principle uh for text generating by their system it was sort of interesting like there's a whole philosophical uh hairball there we could get into but like you know gpd3 is trained on text from the internet and then it's used to generate text and apparently that connection like you need to give it credit for that but what about the text that it used to like it's very convoluted and depending on how you think about what gpd3 is doing different things can make sense um but generally like I'm wondering how did this change your perspective did it change your perspective on what language models may be able to do in the future were you disappointed or were you impressed by what gpd3 was able to do relative your expectations going in yeah absolutely and you made a really great Point earlier about like how you know companies are just putting rappers around this and I think the fact that you know like we can build this in a weekend the meanwhile companies are like selling this for you know really high prices for me that was like I don't know how I felt about that on the one hand I was like okay interesting we can like go build a company and maybe if we like created like a fine tune better model right we can go and like do that but on the other hand I was like on the ethical issue for those people for those of us who aren't as interested in like understanding like the nuts and balls of gpd3 or like we don't even have like the opportunity to do that like those of us who aren't like in the field for example isn't there like an ethical issue for like pricing something so high when like in reality most of what you're using is kind of Open Source or like pretty cheap and mostly like from my understanding um the main purpose was like for research right so that's an interesting perspective when we like productionize and also to an extent like incentivize firms and other private companies to create a business model around this a lucrative one on that given how many different competitors are popping up and how prominent these competitors are not just in the US but in different countries as well yeah it's interesting because I think there there's also so that's an interesting angle there's also the flip side to that which is the fact that it's so easy to spin these things up means you get a lot of competition which drives prices down um because I think open AI has actually been experiencing this by the way like it's yeah so uh this is a whole kind of interesting Rabbit Hole itself but when gbd3 was first developed when it was first announced of course prices were a lot higher back then and there was a time when open AI was the only game in town and that was the case for about a year and then we started to see replications in like China and Russia and other countries but um but now ai 21 Labs comes out um you know uh cohere comes out all these companies and we're starting to see the prices drop in response to that and so it's starting to seem kind of like language modeling might be commoditized or like it it's going to be

Commoditization of language modelling

really hard to maintain competitive advantages in this space I don't know what that means for the future of language modeling but it seems kind of noteworthy it seems like there's maybe not as much of an opportunity to like rent seek in this spaces otherwise you might have imagined but it's so hard to know where this all goes and such an important part of the future of humanity the future of technology too so anyway fascinating to hear the and like what you mentioned about like a lot of different companies building on this I think um I think go here has a different um platform that also allows you to do like text Generation Um I think AI 21 also does uses something called AI 21 Studio which when I looked it up like the write-up was super similar to like what I had done they even cited temperature as well and I was like oh this is so interesting um so I was like excited to see that as well but then you know we kind of go into the space where we talk about like ai60 I think and a lot of this I actually learned from you so you know about like how uh we're not just talking about like technology right we're also talking about like policy so how do we make sure that the to keep everyone safe right because you know you can imagine that you know like this is a cover letter generator but people could still love you sin right like it would basically like no I don't want to say like sugar cold but like make up some experience that is like mildly related to your resume and it could like with like fancy words or whatever like fool whoever it is you're applying for a job to it's not technically false but it's not completely true either right so there's a lot of different instances and that's just like with cover letter Generation Um with other use cases as well um and given like how easy it was to do this I can just imagine how much easier it is for other people who are really researching on this who are really spending time to learn about this to build something right yeah actually it's really interesting that you raise that idea with a cover letter piece too because I'm almost thinking psychologically like putting myself in the shoes is somebody using that app I imagine if I were writing it myself I would make sure that every line was absolutely true to the letter because I'm creating it but if gpd3 suggests like a turn of phrase that's a little bit more embellished than maybe what I ought to be claiming maybe I'm less likely to be like oh no I'll get rid of that and try yeah you know sounds so good it's a little bit more in front of you it's more tangible maybe I go with that and it might end up increasing yeah the level of deception in the ecosystem stuff like that but um I find it it's really interesting and great that you're thinking along those lines as you're building the software it'd be great to see the broader ecosystem kind of reflecting that level of concern too job application I'm going back into like the job search after a while I guess um a lot of it can be automated right so for example people um you know Unknown People just kidding no but people use like Bots that apply the jobs right and those Bots like they like scrape like different like job app platforms they like submit your resumes so on and so forth all your bio data that you just like input in an app right like you it's easy to kind of do that using selenium right it's not extremely challenging there's like a lot of Open Source projects that actually apply allow you to apply to jobs in an automated fashion like they run while you sleep and think about if somebody like connects that app to like a cover letter generator like as an applicant like you're not really doing anything but I don't know if that's really helpful for like recruiters or hiring managers like I don't know if that's making the whole like job search worse and then I guess like you can think about like in the future if it's if the ecosystem is like so like diluted they're like too many signals and all of these signals are kind of Muddy because again you're not getting like the person you're getting this whole automated pipeline how is hiring going to work like in the future right that's like that's a really interesting question and it's also okay I I'm wondering if I should even say this I think it's okay because it I I think this kind of use case would be flagged but you could imagine like you know if I'm at um company X and I want to really mess with company-wise recruitment like I could flood them with a thousand plausible seeming cover letters and resumes generated in this way and like good luck filtering the real applicants from the fake ones if the stuff looks basically human generated like there's a whole world of stuff that um anyway it's gonna be exciting to live in uh as we go I think Ada is uh the uh the model that's most used by if I remember correctly like the most useful for creating in data sets actually you can create data like with these models so that's like a really good point that you touch on like just like make a bunch of resumes so that company that rejected you're just kidding so oh my God nobody got any ideas here

Wrap-up

it's fascinating and I think it points in a good way and in a scary way at the direction the future might be headed so I really appreciate you sharing this story your story and how you came to all this as well on the podcast thanks so much Amber for uh for the conversation thank you so much for having me and I really appreciate it

Другие видео автора — Towards Data Science

Ctrl+V

Экстракт Знаний в Telegram

Экстракты и дистилляты из лучших YouTube-каналов — сразу после публикации.

Подписаться

Дайджест Экстрактов

Лучшие методички за неделю — каждый понедельник