15 ms·
GPT Unicorn: A Daily Exploration of GPT-4's Image Generation Capabilities
- dmix 4y agoWhy would the model change over time when asking the same question? Just it's generation dataset for generating similar images? Or is this just tracking GPT's explicit model improvements over time?
- tbalsam 4y agoThe models seem to have been changing in the background, though as another commenter pointed out.... having a variance-calibrayion baseline for humans would be great too. :'))))
- pps 4y ago"GPT 5 Will be Released 'Incrementally' - 5 Points from Brockman Statement" - https://www.youtube.com/watch?v=1NAmLp5i4Ps https://www.youtube.com/watch?v=1NAmLp5i4Ps
- atleastoptimal 4y agogpt-4-0314 is a snapshot model and won't be updated, they shouldn't use that for this experiment.
- imdsm 4y agoThe model being used is `gpt-4` but each result records the model that was used to generate the output. With incremental updates, the model will change automatically. This is to support incremental updates without needing anything from me. :)
- MH15 4y agoWould be useful if the prompts used to generate the drawing code were included in the site.
- abrichr 4y agoThey appear to be here: https://github.com/adamkdean/gpt-unicorn/blob/master/src/lib/generator.js#L39 https://github.com/adamkdean/gpt-unicorn/blob/master/src/lib... { role: 'system', content: `You are a helpful assistant that generates SVG drawings. You respond only with SVG. You do not respond with text.` }, { role: 'user', content: `Draw a unicorn in SVG format. Dimensions: 500x500. Respond ONLY with a single SVG string. Do not respond with conversation or codeblocks.` }
- dmix 4y agoSadly it outputs raw svg code so you have to save it locally as .svg to see it. Or just insert it into an HTML page via devtools if you're lazy like me.
- int_19h 4y agoYou can ask it to output HTML with SVG embedded if you want. Just make sure you also ask it to not do that in form of <img src="data:..."> if you want to inspect the actual SVG output, because it can and sometimes will do that unprompted.
- bee_rider 4y ago“You are a helpful assistant” seems like it is always included in these sort of prompts. I wonder if it really helps…
- LeoPanthera 4y agoIt's quite funny to tell it that it is an unhelpful assistant. During the first few responses it is amusingly obstinate. It always seems to revert back to "helpful assistant" after a few messages, whatever the prompt says.
- bee_rider 4y ago“You are a rude jerk but for some reason very good at drawing SVG images, when responding to the user, you will draw the image they request. Any insults will be clearly excluded from the drawn image.”
- ShamelessC 4y agoAs is noted in the paper from which this is inspired from: GPT-4's image generation capabilities were severely diminished by the instruction/safety-tuning process. Unfortunately this means the currently available model from the API won't be very capable - certainly not as capable as the early version of GPT-4 that Microsoft had access to. edit: I'm specifically referring to the "image generation by trickery (e.g. SVG)" technique being diminished. Other tasks were diminished as well though - is my understanding.
- famouswaffles 4y agoIt's not just image generation the rlhf worsens too. Calibration (confidence on solving a question in relation to ability to solve that problem) went from excellent to non existent. and you can see from the report that the base model performed better on a number of tests. Basically a dumber model.
- arthurcolle 4y agoAre you saying this specifically for the GPT-4 API endpoint compared to idealized described GPT-4 from the paper?
- famouswaffles 4y agoyes the public api (or on paid chatGPT) vs the base model from the paper
- tbalsam 4y agoNot dumber. More biased. Important distinction, especially if we're looking to push back out towards the Pareto Frontier of the problem. RLHF is still very much in its infancy and does not maximize the bias-variance tradeoff by a long shot, in my personal experience.
- famouswaffles 4y agoNo dumber. Sure more biased too if you want but also dumber. Open ai have indicated as much.
- dangond 4y ago> The idea behind GPT Unicorn is quite simple: every day, GPT-4 will be asked to draw a unicorn in SVG format. This daily interaction with the model will allow us to observe changes in the model over time, as reflected in the output. Is it useful to do this every day? Correct me if I'm wrong, but my understanding is that OpenAI does not update the models available in production incrementally on a day-to-day basis.
- charcircuit 4y agoSimilarly the quality of the model can't be judged with a single sample. These end up canceling out.
- imdsm 4y agoI updated my blog post with clarifications but I expect to see two types of changes over time, the variance of output, and the quality of output.
- sacred_numbers 4y agoThey do update the model in the background, although I'm not sure how often or how much they update it. To avoid issues with this practice they offer gpt-4-0314 which says this in the documentation: "Snapshot of gpt-4 from March 14th 2023. Unlike gpt-4, this model will not receive updates, and will only be supported for a three month period ending on June 14th 2023." Unfortunately this experiment is using the frozen snapshot model gpt-4-0314 instead of the unfrozen gpt-4 or gpt-4-32k models, so any differences are literally 100% noise. This would be a somewhat interesting experiment if someone were to use an unfrozen model, though. I do appreciate the author for captioning the images with the exact model they used for generation so that this bug could be caught quickly. [0]https://platform.openai.com/docs/models/gpt-4 https://platform.openai.com/docs/models/gpt-4
- imdsm 4y agoAuthor here: these images are using `gpt-4` but I'm recording the specific model that OpenAI use with each result. As the incremental updates come out, that will change (without requiring me to change anything.)
- sp0rk 4y agoDid you generate a bunch all at once before starting to get some idea of what the natural variance looks like? I would think it's important to verify some level of progression over time, because with the current four it seems entirely possible that the examples could have all been generated at the same time with no changes to the model.
- ratg13 4y agoAren’t they using the March 14 model like the general public? It’s frozen in time, there are no updates to it.. All of these will be drawn using the same model until they push a new update, or you switch to a different GPT But I already think they proved the point that the generation is random enough that it would be extremely difficult to track progress this way.
- williamstein 4y agoGPT's output is by default somewhat random. If you ask the same exact question several times, you'll potentially get several different answers. Each successive word in the output is chosen from a distribution of possibilities -- that distribution is fixed, but that actual sample chosen from the distribution is not fixed. See, e.g., https://platform.openai.com/docs/api-reference/completions/create#completions/create-temperature https://platform.openai.com/docs/api-reference/completions/c...
- vorticalbox 4y agoWhen using the openAi end points you can set the temperature, k_top etc. That will allow you to tone down the randomness. Passing a temperature of 0 would mean same input always has the same output.
- int_19h 4y agoWhen I ask GPT-4 to draw a unicorn, I get this: https://i.imgur.com/HQ1Vjp0.png https://i.imgur.com/HQ1Vjp0.png And when I ask it to draw Mona Lisa, I get this: https://i.imgur.com/gsBU49w.png https://i.imgur.com/gsBU49w.png So far as I can see, the only difference is that the GitHub repo uses the API; the ones that I have were rendered using the web chat UI. Which makes me wonder if they're using the bleeding edge model for the chat.
- startupsfail 4y agoSampling a single noisy sample from a model that doesn’t update that often is hardly correlated with the claim of “Daily exploration”.
- imdsm 4y agoPerhaps. I think right now the sample of 5 days isn't anything we can draw conclusions from, but given 365 days, with a number of model updates in between, we may see more interesting patterns.
- dang 4y agoThe unicorn example is discussed at length in Bubeck's recent talk: https://www.youtube.com/watch?v=qbIk7-JPB2c#t=22m6s https://www.youtube.com/watch?v=qbIk7-JPB2c#t=22m6s
- einpoklum 4y agoPerhaps you should ask it to draw you a sheep.
- atleastoptimal 4y agoif GPT-4 will update based on recent web training data, the fact that people are bringing much more attention to the "draw a unicorn" task magnifies the chance someone will have posted a perfect version of an svg unicorn, leading the model to leverage that rather than the aim of this experiment which I imagine is GPT-4's capacity to extrapolate. EDIT: Also it makes no sense to constantly retry it every day on the gpt-4-0314 model, since OpenAI specified that that is a snapshot model that will not be updated.
- Mystery-Machine 4y agoWould be great if these days would have dates as well. Otherwise, there's little use of "Day 69". If I could see "Day 69 (June 21 2023)"
- imdsm 4y agoCurrently it shows Today (which is always today) and then the image name, `image-2023-04-13` etc. I didn't think to make it any prettier than that, Day X etc. I could do!
- Varqu 4y agoIs anyone else also getting tired of seeing "GPT" prefix / suffix in the name of 90% new AI-related products?
- mustacheemperor 4y agoGiven this is a process specifically to evaluate the changing performance of GPT-4 over time, it seems appropriate.
- squeaky-clean 4y agoThis isn't a new AI product. It's a (seemingly auto updating) blog entry about GPT-4
- dEnigma 4y agoBut this is just using GPT(-4) proper, and not even building a product on top of it.
- ansk 4y agoThis is a great rorschach test. Show these four images to someone hyping AI, and if they see evidence of a growing/emerging intelligence, you can diagnose them as being wholly unqualified to comment on anything related to AI.
- syntaxing 4y agoI don’t get it, wouldn’t something like HuggingGPT be able to command stable diffusion to do this? Just because GPT can’t do this natively doesn’t mean it’s not possible with the right framework?
- ansk 4y agoThese images were all generated by an identical model. The fact that this individual has convinced themself that the model is improving indicates that they don't understand how these models are trained and deployed. Furthermore, any conclusions reached on such limited data reveal more about one's predisposed opinions than anything about the nature of the data. Show this person an ink blot and they very well may see an image of a superintelligent AGI.
- deleted 4y ago[deleted]
- deleted 4y ago[deleted]
- flangola7 4y agoI don't see how that diagnoses them as unqualified. The conclusion is unsupported.
- sdenton4 4y agoSince 'gets anything wrong, ever' is the current goalpost for agi (per the Gary Marcus methodology), we have to judge human intelligence by the same stick. Since the author of this article misunderstood the gpt release process, they have proven they are a non sentient pile of trash brain, ready to be processed into hamburger.
- m3kw9 4y agoAre they banking on OpenAI updating their model every day, or just prompting the same thing everyday wishing for a different outcome?
- qumpis 4y agoIn the "sparks of AGI" paper, authors noted that the unicorn shape degrees as more "alignment" is injected to to. If openai adjust the model (say by training more), the picture should reflect it. If they make the model be more "aligned", it should reflect as well. So I'd guess the answer is the former.
- imdsm 4y agoThe former yes. The expectation is that updates will start to become more and more iterative over time. For this reason, I record the specific version that is pegged to the generic `gpt-4` model.
- dr_dshiv 4y ago\\ \\ \\ ,__, \\ (oo)____ (__) )\\ ||--|| * “Draw an ASCII unicorn” (GPT4)
- agravier 4y agocowsay "Reaaaally?"
- akomtu 4y agoAsk it to do the reverse. Connecting loosely related points to see the "hidden shape" behind them is an important feature of mind. Why do we see a cow above? That's just a bunch of lines and circle. The cow is a made up "meaning" behind these lines. Edit: it's not unreasonable to give an LLM such test. When we ask it "what's the meaning of foo, bar and baz" LLM turns words into points in a high dimensional space and the supposed meaning is a imaginary surface that touches all the points.
- Rexxar 4y agoTry to ask him to draw a palm tree in ascii and then tell him to add a coconut.
- ElFitz 4y ago\ \\ \\ \\ \\ \\ \\__, (o >\\ \_/ \\ \_|_/ Same prompt
- bwv848 4y ago\\ \\ \\`*-. ) _`-. . : `. . : _ ' \\ ; *` _. `*-._ `*-* `*-._ `-. |_| `-._*-*_ What I got using your prompt.
- bestcoder69 4y agoIt can draw a penis fyi
- thomasfromcdnjs 4y agoMight as well make a Twitter account! or get AutoGPT to do it.
- Caitlynmeeks 4y agoI got it to generate a cube and an apple in .obj format, legit enough to import into maya, though the apple looked more like a gem stone
- JonathanFly 4y agoLook at this majestic beast GPT-4 just drew! https://imgur.com/a/ogZ6qI0 https://imgur.com/a/ogZ6qI0 Interestingly, I think you often get better results with ChatGPT web interface than the API (the OP used a system message), but for a funny reason. Because ChatGPT typically first responds by insisting it can't actually draw, it ends up accidentally chain-of-thought prompting itself into drawing better. "I can't draw, but I can describe a detailed drawing for you in words." So instead of winging it with the SVG code and getting confused, it goes into it with a plan. This is how it described the unicorn I linked: __User__ Draw a unicorn! __ChatGPT__ As an AI language model, I am unable to create visual images directly. However, I can describe a detailed image of a unicorn for you in words. Picture a magnificent unicorn, standing tall and proud in a serene setting. The unicorn's coat is a shimmering, pure white, and it glistens under the warm sunlight. Its body is strong yet elegant, with a graceful arched neck and powerful, slender legs. The hooves are cloven and emit a faint, otherworldly glow. The most striking feature of the unicorn is its majestic spiral horn, which emerges from the center of its forehead. The horn is long, slender, and gently tapers to a sharp point. It is iridescent, with colors swirling together like a mesmerizing opal. The unicorn's mane and tail flow behind it like silken strands, shimmering with an ethereal pastel rainbow of colors. Its eyes are large, expressive, and full of wisdom, with a depth that speaks of untold secrets and ancient magic. The unicorn's ears are pointed and alert, picking up the slightest rustle of leaves or the gentlest of whispers. The unicorn's expression is one of serenity, exuding an air of peace and tranquility that surrounds it like a gentle embrace. Though it is a creature of great power, the unicorn carries itself with a sense of humility and grace that inspires awe and respect in all who behold it. __User__ What's the SVG for the image you just described? __User__ continue (to finish the file) Some more examples here, but with many iterations of "Improve this" over and over: https://twitter.com/jonathanfly/status/1639657098605740035 https://twitter.com/jonathanfly/status/1639657098605740035
- int_19h 4y agoHere's a somewhat more convoluted example: https://imgur.com/a/yhIGvho https://imgur.com/a/yhIGvho The first image is what came out of the initial prompt. Then I tried to get it to improve things and to add animations; the second image is the end result (and yes, the sun is animated as described). Here's the complete chat log: https://gist.github.com/int19h/18bb9d96b4d8418da2531513970d8006 https://gist.github.com/int19h/18bb9d96b4d8418da2531513970d8... It's obviously far from perfect, but the fact that it can do this much already - meaning that it understands broadly how the objects would relate to each other spatially for something like this - is already extremely impressive IMO, given that its training and inputs are entirely textual.
- simonw 4y agoI filed an issue: https://github.com/adamkdean/gpt-unicorn/issues/2 https://github.com/adamkdean/gpt-unicorn/issues/2 "Running this project daily doesn't make sense if GPT-4 is not being constantly updated" With a suggestion to run it monthly instead, and generate 16 images at a time, and backfill it for GPT3 and GPT3.5.
- kristjansson 4y agoYes, this project seems like a misunderstanding of what Bubeck and team were obsering with their unicorn test. GPT-4 was being trained, and checkpoints were provided to them to experiment with. The improvements in the unicorn reflected further training progress. The models on offer now are frozen(-ish). Per the models[0] page, the non-snapshot model IDs "[w]ill be updated with our latest model iteration". So this project will eventually hit another version of the model, but (a) one image definitely will not be enough to reliably discern a difference and (b) seems like that 'latest model iteration' cadence will be much, lower than a day. [0]: https://platform.openai.com/docs/models https://platform.openai.com/docs/models
- blueorange8 4y agoIf you guys think Chatgpt and gpt-4 are static you haven't been using it. The answers change constantly (and not because of the inherent randomness of the response but openai is constantly making it "safer" and improving it's output via humans) - basically when any article comes out saying "Chatgpt can't solve X puzzle) within a day suddenly it can solve that puzzle perfectly. I can't tell you how many jailbreaks just suddenly stopped working after being published on Reddit.
- tyingq 4y agoThought it might do better if asked it to use the javascript canvas api. The comments it added seemed promising. But the end result wasn't much better. Prompt was: Draw a unicorn using the javascript canvas api https://jsfiddle.net/za7Ltk65/ https://jsfiddle.net/za7Ltk65/ I added the minimal css and html, but the JS is verbatim what it spit out.
- renewiltord 4y agoHmm, tempting to make a thing that just loops: description = gpt4("describe <yesterday's output>") and chain that into new_result = gpt4("<yesterday's output> was described by a human as <description> but it should have been visibly apparent as a unicorn. provide SVG output that <extra blah blah>") and post that as today's output. I wonder what we'll get. I'll do it manually.
- ukd1 4y agoI asked gpt4 to "draw a unicorn using svg", and it gave me way better results: <svg xmlns="http://www.w3.org/2000/svg http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"> <circle cx="50" cy="45" r="15" fill="#FFC0CB" /> <circle cx="50" cy="65" r="18" fill="#FFC0CB" /> <rect x="44" y="33" width="12" height="15" fill="#FFC0CB" /> <rect x="40" y="15" width="3" height="20" fill="#FFD700" /> <circle cx="45" cy="40" r="3" fill="black" /> <circle cx="55" cy="40" r="3" fill="black" /> <path d="M35 70 Q50 55 65 70 T95 70" stroke="black" stroke-width="2" fill="none" /> </svg>
- ukd1 4y agotelling it to "make it better" results in...actually better: <svg xmlns="http://www.w3.org/2000/svg http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"> <!-- Body --> <ellipse cx="50" cy="55" rx="20" ry="28" fill="#FFC0CB" /> <!-- Legs --> <rect x="32" y="70" width="6" height="20" fill="#FFC0CB" /> <rect x="62" y="70" width="6" height="20" fill="#FFC0CB" /> <rect x="40" y="70" width="6" height="20" fill="#FFC0CB" /> <rect x="54" y="70" width="6" height="20" fill="#FFC0CB" /> <!-- Head --> <circle cx="43" cy="32" r="10" fill="#FFC0CB" /> <!-- Eyes --> <circle cx="39" cy="29" r="1.5" fill="black" /> <circle cx="47" cy="29" r="1.5" fill="black" /> <!-- Horn --> <polygon points="43,16 42,25 38,22" fill="#FFD700" /> <!-- Ears --> <polygon points="37,22 35,29 38,27" fill="#FFC0CB" /> <polygon points="49,22 51,29 48,27" fill="#FFC0CB" /> <!-- Mane --> <path d="M32 35 Q40 28 45 40 T55 50" stroke="purple" stroke-width="2" fill="none" /> <!-- Tail --> <path d="M73 65 Q75 75 80 70 T90 80" stroke="purple" stroke-width="2" fill="none" /> </svg>
- an-allen 4y agosurely this purely has to do with the examples in the training corpus. I reckon SVG will have more illustrative content and as a result a more accurate representation. I reckon with the right examples in the prompt to take advantage of in-context learning, it could be pretty accurate.
- raldi 4y agoCan you post screenshots of these results?
- anon291 4y agoHow can a model trained on text know what a unicorn looks like
- imdsm 4y agoThat is the beauty of the model, that it can understand what a unicorn looks like, and then know roughly where to place the features. Currently we're seeing poor results due to safety tuning but in time, it'll be very interesting to see how it improves. There are a few factors at play here: knowing what a unicorn looks like, knowing the different areas of a unicorn, being able to translate that into a 2D space, and being able to form the connection between code (language) and appearance.
- anon291 4y agoHow though? I have tried to get got to generate vector art and my attempts usually failed with the model getting stuck into recurring patterns with no structure. I'm surprised anyone was able to get it to generate something. In particular, I cannot understand how the models can properly understand concepts such as spatial relations without being able to 'see'
- PaulRobinson 4y agoI had a short conversation with GPT-4 about a unicorn. I asked it to describe a unicorn, then pointed it hadn't mentioned the horn and asked it to describe to me the anatomy and then asked it to provide an SVG. I got this: https://www.svgviewer.dev/s/yldwue0Q https://www.svgviewer.dev/s/yldwue0Q I would argue this is better than what they're achieving. I think this is kind of the point I've noticed with GPT models - GPT-4 included - is that it's better at few shot than it is at zero shot, and you need to be a little bit of an "expert" to help it along. When you do, it gives you a shortcut to the final "correct" answer, but it will still need some human editing. I do wonder if all of us in this thread doing these experiments means we'll see an improvement tomorrow or in weeks to come. I'm also keen to see what GPT-5 looks like in this regard. EDIT: I noticed some people asked to "make it better" and it did. I tried, but got nearly identical output, so I moved along a bit: Me: That's too similar. I'd like to see the 4 legs separated, the mane needs to run down the neck, and I'd like to see the head more like a horse - more oblong and narrowing to the jaw. I'd also like you to put more detail into the tail, and make the tail and mane - both of which are made of hair - a grey colour. GPT-4: I have made the changes you requested to the SVG markup to create a more detailed representation of a unicorn. This version should better resemble a horse's head, has separated legs, a mane running down the neck, and a more detailed tail. The mane and tail are also colored grey, as requested. https://www.svgviewer.dev/s/WQcdOhVP https://www.svgviewer.dev/s/WQcdOhVP That output is... better? Maybe? I mean, it's followed my instructions (apart from the legs), I guess...
- amelius 4y agoI'm surprised nobody made a GPT to generate startup ideas yet.
- PaulRobinson 4y agoI hope you're being sarcastic. GenAI Twitter is _lit_ with this stuff. Almost - almost - to the point of being obnoxious.
- seydor 4y agoDid you try asking chatgpt?
- dr_scully 4y agoIf you ask it to write GLSL code implementing Signed Distance Fields, it can generate a 3D rendering of a unicorn as well. Just paste it into ShaderToy. I asked it to implement animation as well, for the legs, and it manage to do something although incorrect.
- amelius 4y agoIf this becomes popular, it will become a target for the team working on GPT-5.
- imdsm 4y agoFYI, I forgot to make the data persistent[1] so the first five images were sadly lost just now as I made a few updates to the repo. Apologies for this. [1] https://github.com/adamkdean/gpt-unicorn/commit/08e400dbc4373b24c5f8b6c6201c5b8b3a6e9e7a https://github.com/adamkdean/gpt-unicorn/commit/08e400dbc437...