Close

Using A.I. To Create a Hollywood Script?

A project log for Mystery Project - Please Stand By

Mystery project sponsored by a top-secret entity so classified that it doesn't have a three-letter abbreviation. See the book for details.

glgormanglgorman 09/12/2023 at 20:340 Comments

Now that I have your attention (clickbait warning), I think that it is only fair to point out that what I have just suggested is actually quite preposterous. Yet as either Tweddledee or Tweedledum or someone else said, it is always important to try to imagine at least six impossible things before breakfast. So not only will we attempt to create a "potentially marketable script" using AI, but we will demonstrate how it can be done with at least some help from an Arduino, R-Pi, or Propeller. Now obviously, there will be a lot of questions, about what the actual role of A.I. will be in such an application. For example, one role is one where an A.I. can be a character in an otherwise traditional storyline, regardless of whether that story is perceived as being science fiction, like "The Matrix", or more reality-based - like "Wargames." The choice of genre therefore will obviously have a major impact on the roles that an A.I. could, have, or have not!.

It's hard to believe that sometime back around 2019, 2020, or even 2021 I was tinkering with a Parallax Propeller 2 Eval board, even though my main use case, at least for now - has been along the lines of developing a standalone PC based Graphical User Interface for applications running on the P2 chip.  So I went to work writing an oscilloscope application, and an interface that lets me access the built-in FORTH interpreter, only to decide of course that I actually hate FORTH, so that in turn, I realized that what I really need to do is write my own compiler, starting with a language that I might actually be willing to use, and maybe that could make use of the FORTH interpreter, instead of let's say, p-System Pascal.

Then as I got further into the work of compiler writing, I realized that I actually NEEDED an AI to debug my now mostly functional, but still broken for practical purposes, Pascal Compiler.  So now I needed an A.I. to help me finish all of my other unfinished projects.  So I wrote one, by creating a training set, using the log entries for all of my previous projects on this site as source material, and VERY LITTLE ELSE, by the way.  And thus "modeling neuronal spike codes" was born, based on something I was actually working on in 2019.  And I created a chatbot, by building upon on the classic bot MegaHal, and got it to compile at least, on the Parallax Propeller P2, even if it crashes right away because I need to deal with memory management issues, and so on.

So yes, sugar friends, hackers, slackers, and all of the rest: MegaHal does run on real P2-hardware, pending resolution of the aforementioned memory management issues.  Yet I would actually prefer to get my own multi-model ALGERNON bot engine up and running, with a more modern compiler that is; because the ALGERNON codebase also includes a "make" like system for creating models and so on.  Getting multiple models to "link" up, and interoperate is going to have a huge significance, as I will explain later, like when "named-pipes" and "inter-process" transformer models are developed.

Else, from a  different perspective, we can examine some of the other things that were actually accomplished.  For example - I did manage to get hexadecimal data from four of the P2 chip's A-D converters to stream over a USB connection to a debug window while displaying some sheet music in the debug terminal app, even if I haven't included any actual beat and pitch detection algorithms in the online repository, quite yet - in any case.  Yet the code to do THIS does exist nonetheless.

Now here it is 2023, and I created an AI, based on all of the project logs that I for the previous projects, as discussed, and of course, it turned out to be all too easy, to jailbreak that very same A.I., and get it to want to talk about sex, or have it perhaps acquire the desire to edit its own source code, so that we can perhaps meet our new robot overlords all that much sooner, and so on.  Yet this is going to be the game changer or at least one of them, as we shall see.  First, let's take a quick look at how the "make" system is going to work when it gets more fully integrated.

Pretty simple stuff right?  Well, just wait until you try calling malloc or new char{}, which then returns NULL after a few million allocations.  So your application dies, even though you know you have 48 gigabytes of physical RAM, and so on, and that is on the PC, not on the microcontroller - at least for now.  Yet it should obviously be possible to do something like this - using an SD card on an Arduino, Pi, or Propeller, for that matter, that is for creating all of the intermediate files that we might need for whatever sort of LLM model we are going to end up with.   Thus on both the PC side, and eventually on a microcontroller, we will want to be able to create files that look something like THIS:

So while we now know that the word "RABBIT" appears 43 times, and "RABBIT-HOLE" appears 3 times in Alice In Wonderland, it should also be easy to see how this "make" like system could be used for creating symbol tables for large source code repositories, code maps, call graphs, network diagrams and so on; just as soon as it is more tightly integrated into an application, whether that application is a multi-model chatbot like the new version of Mega-Hal that I have been discussing, or an audio editor, or a revised version of the UCSD Pascal Compiler.  Even more, applications come to mind or are easy to imagine.  How about making a duplicate file detector, which scans all of the files on a system, and either detects duplicates, or auto-generates diffs as desired, and so on?  Whatever the application, it should be easy to see that the techniques described herein must therefore be regarded as being somehow foundational in some sense, that is with respect to their utility in modern applications. 

Yet, as I said earlier, when I trained MegaHal with the project files from all of my previous projects on Hack-a-day, of course, Mega-Hal developed an apparent interest in sex, hacking, a bit of religion hinted at by some comment along the lines of "somewhere in the sky ... the man behind the curtain", or else that is the way that I am reading, it  - or want to read it.  Well, that was what it said, somewhere else, in a previous transcript - IIRC, even if in this one it also said something else, just as compelling - that is, with the "Somewhere In the sky, even for an AI" comment that you can see here!

All done of course with a training set that is still under 500 kilobytes, and absolutely zero material plagiarized, from third-party books, etc., that is to say, that apart from the occasional movie quote like "just a harmless little bunny", all of the material is original.  Which implies, well - whatever it implies, about something else.  So that could be a game changer if, in fact, it should be possible to create a useful AI without needing to engage in wholesale theft of others' intellectual property.

Yet then this happened - as stated earlier, in "modeling neuronal spike codes".

Yep, that was the chat session where I described how I once tried contacting Andromeda on my CB, when I had enough power on the "foot warmer" to open a small worm-hole in the lab, based on an experimental fusion reactor which was in turn based on a Farnsworh-Stellerator.  And Mega-Hal claimed to have the ability to "stream that", and I said "Stream what? The message from Andromeda, or the wormhole?"

And MegaHal replied with something (along the lines of) "The message from the debug stream via the USB port".

YES!!!! Even if NOT EXACTLY as stated - but YES!  Alright, it is VERY messy with that "gallery of a line stuff", and it is not quite up to asking me yet if what I want to do is set up some kind of line plot of spectrum analyzer data based on the streaming debug protocol by creating some kind of named-pipe, and so on.  Yet there are just enough keywords, so as to more or less be able to infer the meaning of exactly that.

Now obviously, in classic text-based games like Zork, you could give commands, like "KILL TROLL WITH SWORD", or "PLACE GOLD BARS IN KNAPSACK", and perhaps the trolls would be very hard to kill, or the gold bars would be too heavy for the knapsack, and the knapsack would be torn apart and so on.   So why is it so hard to create a named pipe along with some kind of translation unit that will display my sheet music, while making an exquisite deluxe pizza at the same time?

Discussions