• SpudNoodle@kbin.socialOP
    link
    fedilink
    arrow-up
    19
    ·
    1 year ago

    Another pic here

    Remember SkyKnit? The hilariously bad attempt at generating knitting patterns with a neural network? (link on Ravelry)

    Well, ChatGTP is here to remind us all that AI is still terrible at knitting.

    I asked it to generate a couple patterns for me, and it did indeed spit out some patterns that didn’t look terribly off… The needle size and stich counts looked okay for what appeared to be a toe-up/gusseted sock pattern. I’m not a super fast knitter, and can’t exactly bang out a sock just to see what happens, so I asked for something simpler. How about a lace pattern over a 12 stitch by 8 row repeat?

    I got the following:

    Row 1: k1, yo, k2tog, k2, ssk, yo, k1, p1, k1, p1; repeat from * to * to end of row. Row 2: p1, k1, p1, k3, p3, k1, p1, k1, p1; repeat from * to * to end of row. Row 3: k1, yo, k2tog, k1, ssk, yo, k3, yo, ssk, k1, k2tog, yo, k1, p1; repeat from * to * to end of row. Row 4: p1, k1, p1, k2, p5, k1, p1, k1, p1; repeat from * to * to end of row. Row 5: k1, yo, k2tog, yo, ssk, k2, k2tog, yo, k3, yo, ssk, yo, k1, p1; repeat from * to * to end of row. Row 6: p1, k1, p1, k1, p7, k1, p1, k1, p1; repeat from * to * to end of row. Row 7: k1, yo, k3tog, yo, k3, yo, ssk, k2tog, yo, k3, yo, k3tog, yo, k1, p1; repeat from * to * to end of row. Row 8: p1, k1, p1, p9, k1, p1, k1, p1; repeat from * to * to end of row.

    Aside from the fact that I hugely prefer charts over written instructions, that didn’t look too bad, so I happily cast on a couple dozen stitches to see what AI lace would look like. And almost immediately realized it was much worse that it looked. Here’s the breakdown I ended up with:
    Row 1: 11 sts in the repeat
    Row 2: 13 sts
    Row 3: 16 sts
    Row 4: 14 sts
    Row 5: 17 sts in the repeat, and an extra YO that isn’t balanced with a decrease (+1 st every time the row is worked)
    Row 6: 15 sts
    Row 7: 19 sts
    Row 8: 16 sts

    In the sample I ended up working, I just worked the repeat as much as I could until I got through 24 sts for each, and then worked 4-5 repeats of Rows 1-8. I cast it off, held it up to the light, and burst out laughing. It’s chaos.

    (In an unfortunate misstep, my partner said it looked pretty good, “like the stuff you usually make.” I did forgive him for this.)

    It is a short repeat lace in the end, so there is a regularity to the pattern, and it did seem like the AI understood that YOs and decreases are often near each other, but it just couldn’t organize into anything pleasing.

    I tried again a few days later, spending some time to confirm that ChatGTP understood the knitting terms and the concept of stitch counts before asking for additional lace patterns. It never got there. Stitch counts continued to fluctuate wildly. Turns out, the large language models are really, really bad at math.

    There are definitely parameters to lace patterns, and with some specified rules it seems like it should be easy for AI to come up with something workable. But it can’t, because AI doesn’t actually think. It doesn’t even know how to count.

    Knitting patterns are often compared to programming - both are just lines of instructions. But what makes knitting as a hobby so wonderful is the human element. Someone somewhere sits down and comes up with a pattern, arranges it into a series of symbols (or letters if you insist on written instructions), and then I can come along and create something out of that with my hands. The item doesn’t exist without my effort, and it’s clear that AI doesn’t have any place on the other end of the deal.

    So that’s it. AI still can’t knit. We’re still safe from SkyKnit.

    (It’s ironic in a way that I’m posting this here on the Fediverse, instead of the site which shall not be named, due to changes that were in part blamed on LLM/AI data scraping. It’s also been fun to explain to my fellow engineers that I don’t trust ChatGTP’s “technical” answers very much because it can’t knit.)