• 0 Posts
  • 276 Comments
Joined 1 year ago
cake
Cake day: June 16th, 2023

help-circle

  • So for those not familar with machine learning, which was the practical business use case for “AI” before LLMs took the world by storm, that is what they are describing as reinforcement learning. Both are valid terms for it.

    It’s how you can make an AI that plays Mario Kart. You establish goals that grant points, stuff to avoid that loses points, and what actions it can take each “step”. Then you give it the first frame of a Mario Kart race, have it try literally every input it can put in that frame, then evaluate the change in points that results. You branch out from that collection of “frame 2s” and do the same thing again and again, checking more and more possible future states.

    At some point you use certain rules to eliminate certain branches on this tree of potential future states, like discarding branches where it’s driving backwards. That way you can start opptimizing towards the options at any given time that get the most points im the end. Keep the amount of options being evaluated to an amount you can push through your hardware.

    Eventually you try enough things enough times that you can pretty consistently use the data you gathered to make the best choice on any given frame.

    The jank comes from how the points are configured. Like AI for a delivery robot could prioritize jumping off balconies if it prioritizes speed over self preservation.

    Some of these pitfalls are easy to create rules around for training. Others are far more subtle and difficult to work around.

    Some people in the video game TAS community (custom building a frame by frame list of the inputs needed to beat a game as fast as possible, human limits be damned) are already using this in limited capacities to automate testing approaches to particularly challenging sections of gameplay.

    So it ends up coming down to complexity. Making an AI to play Pacman is relatively simple. There are only 4 options every step, the direction the joystick is held. So you have 4n states to keep track of, where n is the number of steps forward you want to look.

    Trying to do that with language, and arguing that you can get reliable results with any kind of consistency, is blowing smoke. They can’t even clearly state what outcomes they are optimizing for with their “reward” function. God only knows what edge cases they’ve overlooked.


    My complete out of my ass guess is that they did some analysis on response to previous gpt output, tried to distinguish between positive and negative responses (or at least distinguish against responses indicating that it was incorrect). They then used that as some sort of positive/negative points heuristic.

    People have been speculating for a while that you could do that, crank up the “randomness”, have it generate multiple responses behind the scenes and then pit those “pre-responses” against each other and use that criteria to choose the best option of the “pre-responses”. They could even A/B test the responses over multiple users, and use the user responses as further “positive/negative points” reinforcement to feed back into it in a giant loop.

    Again, completely pulled from my ass. Take with a boulder of salt.







  • PowerShell variable names and function names are not case sensitive.

    I understand the conventions of using capitalization of those names having specific meanings in regards to things like constants, but the overwhelming majority of us all use IDEs now with autocomplete.

    Personally, I prefer to use prefixes anyway to denote that info. Works better with segmenting stuff for autocomplete, and has less overhead of deriving non-explicit meaning from stuff like formatting or capitalization choices.

    On top of that, you really shouldn’t be using variables with the same name but different capitalization in the same sections of code anyway. “Did I mean to use $AGE, $Age, or $age here?” God forbid someone come through to enforce standards or something and fuck that all up.



  • Does anyone else remember Microsoft’s amazingly tone deaf slide deck about how integrating their systems and making thing seamless across multiple platforms including mobile phones and laptops would allow people to work during any/every spare moment in their lives, like while commuting?

    Businesses want to own every moment of your life not strictly required for continued existence. If they can normalize using sleep time for extra “passive” income by using your dream power or by just renting out “spare” brain computation power, they will.


  • Expecting any part of the brain to work that simply is foolish. We already know that REM sleep does a lot of the lifting for forming long term memories and processing complex input from your waking hours. Not to mention the importance of it for actual rest/recharging so you aren’t an exhausted zombie all the time.

    Sounds like a wonderful idea to just fuck around with that.


  • Fair enough. Just always seemed like a weird repeated sticking point.

    For anyone looking to buy it cheaper, look for OEM key resellers. It’s the discounted price for companies preinstalling Windows. You can only install it on one device though, instead of whatever “multiple install grace window” they allow normally.

    For anyone wanting it for free, MASgrave utilizes some sort of loophole with an official licensing method meant for corporations to get Microsoft to grant you a valid official license key for free. Microsoft can’t go back and somehow differentiate these keys from paid legit ones, so there’s no risk. Just make sure you’re getting MASgrave from their official source on github so there isn’t any malware snuck in. It also has some functionality for Office licenses as well.


    Also worth noting that with effort, you can excise the overwhelming majority of the anti-consumer bullshit from Windows. Not really accessible to the average joe though, real easy to break shit or not disable things properly so they get re-enabled through updates.







  • Yep, it’s blatant attempts to decrease costs of employment. Just like outsourcing various tech jobs, automated phone trees, and every business tech “no code required” automation/workflow platform ever devised.

    Convince people they can do more with your particular flavor of less. Charge them enough that they save money on the books but you make a profit through them using your toolkit.

    At the end of the day, you will always still need someone to fully understand the problem, the inputs, the expected outputs, the tiny details that matter but are often overlooked, to identify roadblocks and determine options around them with associated costs and risks, and ultimately to chart a path from point A to B that has room for further complications.

    Whatever the tool set, job title, or perceived level of efficiency provided by the tools, this need will never go away. Businesses are involved in a near constant effort to reduce what they have to pay for these skills, and welcome whatever latest fad points towards the potential of reducing those costs.


  • Assuming the latest version of OpenOffice doesn’t work for these files…


    My next course of action would be using the Win 10 machine with Word, or a VM with Win10 or 11 and the latest version of Word. Use MASGrave to trick M$ into considering it licensed if you need to.

    Use a Powershell script to interact with Word through the COM object interface and automate opening Word, opening the file, saving it as a different filetype, and closing. Here’s a snippet of Powershell from Reddit for going in the opposite direction (odt to docx) for a single file. I wouldn’t try to do this through Linux, just suck it up and use Windows so you don’t have an extra layer of mess to deal with.

    Going off M$ documentation of the save types enum, I would replace “wdFormatDocumentDefault” in that snippet with wdFormatOpenDocumentText or wdFormatStrictOpenXMLDocument, then test it with a single file to see which gives the output you need.

    Getting all the files of the starting type from a folder can be done using Get-ChildItem. Store those in a variable and use a foreach loop over the initial file list.


  • Wow, that headline is significantly overstated. This has nothing to do with “understanding” or “reality”. Like holy shit this is an absurd leap from what they actually state in the abstract. Thanks OP for including it in the “preview” here.

    Given a number of “starting states” and “ending states” of 2D grid based “environments”, an LLM is able to return increasing accurate “between states” as it is trained.

    Neat! Not an understanding of reality. At the biggest stretch it is an “understanding” of an incredibly constrained problem space.