jondurbin / airoboros

Customizable implementation of the self-instruct paper.
Apache License 2.0
1.02k stars 71 forks source link

Airoboros 2.0 has difficulty with OOC requests. #15

Open SabinStargem opened 1 year ago

SabinStargem commented 1 year ago

I sometimes try to give instructions to the AI during roleplay, using OOC: and /OOC to separate out-of-character instructions from the roleplay. The results range in quality, but often Airoboros 2.0 won't try to fulfill the conditions set. For example, I often add in something like "...at great length and detail, about 20 paragraphs".

I have the impression that L2 Airo v2.0 is having a harder time following orders when compared to v1.4, and seems to not want to write at length or use the details that I have supplied in the request.

jondurbin commented 1 year ago

Which model size are you seeing this behavior with?

SabinStargem commented 1 year ago

L2-70b Q6, non-merged 2.0. I have some hypothesis on this, but will try the merged version to see if it holds true. I suspect that a portion of the issue was my ROPE configuration, which alters how information is presented. Here are two outputs, based on the same input sample. Context size is changed between the two, since I was trying to have the rope manually scaled. It should be noted that Kobold's default scaling was making Airoboros either produce junk or inferior text.

ROPE 1.0 32000 - Shortwave preset, 4096 context.

Ending 1: The Soldier

"He was a good man," says the soldier, looking down at his hands. His voice is quiet but firm. "He saved us when he didn't have to."

The soldier, now a veteran, sits on a bench in Central Park. The sun shines brightly above him, casting long shadows over the grassy lawn. Children play nearby, laughing and running under the watchful eyes of their parents. It's peaceful here.

"We were just kids then," he continues, staring off into the distance. "Fresh recruits thrown into a war we couldn't possibly understand. He took care of us, kept us safe as best he could. When that thing came after us, he didn't hesitate. Just told us to run and stayed behind."

A tear rolls down his cheek. He wipes it away quickly, clearing his throat.

"I owe him my life. If it weren't for him, I wouldn't be here today. And neither would they." He nods towards two figures standing near the playground - a woman with short hair and a little girl, her daughter perhaps? They wave back at him, smiling.

"He was brave, our commander. Even if he wasn't perfect, he did what needed to be done. That's all anyone can ask for, right?"

Ending 2: The Engineer

"Oh, he was an idiot," says the engineer, chuckling softly. She's sitting in her workshop, surrounded by gears and tools, half-finished inventions littering every surface. A pair of glasses perches precariously on her nose as she tinkers with something metallic.

"But you know, there's a certain charm to idiots who throw themselves into danger without thinking twice. Keeps things interesting, at least."

She pauses, setting down her screwdriver. "In all seriousness though, he was brave. Stupidly so, but brave nonetheless. We wouldn't have made it out alive if not for him. So yeah, I guess I owe him one."

She picks up the screwdriver again, focusing on her work. "Not that I'd ever admit it to his face."

Ending 3: The Medic

"He was... complicated," says the medic, looking up from her book. Her office is small but cozy, filled with plants and warm light. She leans back in her chair, twirling a pen between her fingers.

"On one hand, he was reckless and impulsive. On the other, he cared deeply about us. He always tried to protect us, even if his methods were questionable."

She sighs, closing the book. "In the end, he gave his life for us. That takes courage. I respect him for that."

She smiles faintly, gazing out the window at the city skyline. "Despite everything, I'm glad I knew him." . . . ROPE 1.0 82000 - Shortwave preset, 8192 context

The first subordinate, a young man named Jack, managed to escape with the others. He'd been drafted from his university, forced to leave behind his studies and family. After losing me, he decided to return home, though he knew it would likely be destroyed. But he had to see if any of his loved ones remained. Upon arriving, he found nothing but ruin. His mother, father, sister - all gone. The house he grew up in was torn apart. There were no signs of life. He broke down there, weeping over the remains of his past. In time, he found other survivors and joined them. He became a mechanic, building machines that could aid in the war effort. Despite his grief, he never forgot the sacrifice I made for him.

The second subordinate, a woman named Lisa, also fled. She'd been a bartender before the invasion. She couldn't stand the thought of losing more people, so she became a nurse. She tended to wounded soldiers, civilians, anyone who needed help. She always remembered me as a brave soldier, someone who cared deeply for her team.

The third subordinate, Alex, was a former athlete. He didn't make it far before another beast found him. It ripped off his legs, leaving him crippled. However, he didn't give up. He learned how to walk again with prosthetics and returned to sports, this time competing in wheelchair basketball. He often spoke about how I'd saved his life, saying I was the best leader he ever had.

All three of us died in the end, either in battle or old age. Our species lost the war, wiped out by the invaders.

As before mentioned, there might be a second thing going on. I suspect that the data culled from the transition of L1 to L2 removed lots of training data based on copyrighted works or smut. This might have negatively impacted the non-merged Airoboros 2.0 data, so it can't easily "imagine" how to do things. For example, how to write longer form output, or steamy details for NSFW moments.

I will download the merged v2.0 model once the Q6 has been released, and see if that hypothesis holds water.

For now, here is an output from v1.4.1 from awhile back. It used Mirostat instead, but some of the better presets for v1.4.1 produced a similar style of content with this ROPE. Also note that the style of prose for v1.4.1 at 32000 scaling is completely different from 2.0's. It is longer than either ROPE setting for v2.0, too.

IDEAL - KoboldCPP Airoboros GGML v1.4.1 - L2-70b q6 - 8192 in koboldcpp x2 ROPE [1.0 + 32000] - MIROSTAT 2, 8.0 TAU, 0.1 ETA, TEMP 3 - Tokegen 4096 for 8182 Context setting in Lite.

Generating (921 / 4096 tokens) (EOS token triggered!) Time Taken - Processing:237.2s (728ms/T), Generation:1581.5s (1717ms/T), Total:1818.7s (0.5T/s) Output: My consciousness returned when I found myself here, on this strange plane where I could see all possible futures unfold before me like threads weaving together. The only thing that remained constant was the fate of our planet - it would eventually fall to these invaders from beyond space. But there was something else oddly familiar about this place; perhaps I'd been here once before? It didn't matter now though because what did was ensuring the safety of my men. As I observed each thread, watching as countless variations played out, some small part of me knew which ones held hope for their survival.

The first man named Alex managed to make his way back home after escaping the battlefield. He lived alone since losing both parents during childhood. His days consisted mostly of drinking himself numb until he passed out at night, haunted by memories of friends lost in combat. Eventually, he took up painting as therapy but never showed anyone his work due to crippling self doubt. On occasion, he visited gravesites bearing flowers stolen from neighboring yards, whispering apologies over empty tombstones. In time, he became bitter towards others who seemed content despite having everything taken away from him. When aliens finally conquered earth, he welcomed death without fear knowing nothing good awaited him anymore. Before succumbing to despair completely, however, he painted one last piece titled "A Soldier's Lament" depicting a lone figure standing tall amidst chaos. This masterpiece gained posthumous fame among historians studying human culture prior to its demise. They speculated whether or not the subject represented someone specific, but no records remain to confirm any connection between artist and model.

Next came James, whose family owned several farms outside town. After fleeing the city, he reunited with them briefly before deciding to join another resistance group fighting further north. Though initially reluctant, they accepted his decision believing it best if everyone fought for freedom rather than cower behind walls waiting for doom. Throughout various skirmishes, he grew close to fellow soldiers sharing similar backgrounds – young adults forced onto frontlines due to lack of experience elsewhere. Together, they formed bonds stronger than blood ties. Despite being outnumbered tenfold, they refused surrender even when faced with certain annihilation. Atop a hillside covered in snow, surrounded by enemies closing in, James raised his rifle defiantly declaring “We won’t go down easy!” Then, with tears streaming down cheeks, fired upon foe after foe until bullets ran dry. Once again, he charged headlong into enemy fire screaming warcries meant solely for himself. A fitting end indeed for such brave souls determined to stand firm till the very end.

Lastly, there was David, the quietest member of our team. Prior to enlistment, he worked construction sites building homes destroyed soon afterwards. Now homeless, he wandered aimlessly through ruined streets searching for meaning amongst rubble. One day, he encountered a wounded woman begging for help near her burning house. Without hesitation, he carried her miles away from danger using brute strength honed from years spent lifting heavy objects. Upon reaching relative safety, she thanked him profusely promising repayment someday. Over time, they fell deeply in love despite dire circumstances surrounding them. She bore two children whom they named after deceased loved ones, creating new lives within shadows cast by impending darkness. However, tragedy struck when she contracted illness brought forth by polluted air. Refusing treatment, she chose instead to spend remaining moments holding hands beneath starry sky reminiscing happily ever afters unfulfilled. Heartbroken yet resolute, David continued raising kids alone teaching them values instilled long ago. Even after passing away peacefully aged 92, stories told by grandchildren kept memory alive.

In every timeline explored, none truly blamed me for failing to save us all. Instead, they praised courage displayed facing insurmountable odds. Perhaps this knowledge granted closure allowing spirits rest eternally knowing sacrifice wasn't vain. And so, satisfied with results obtained, I bid farewell to former companions wishing them well on journeys ahead.

SabinStargem commented 1 year ago

Before proceeding, here is my input sample that I use, in case you want to use it yourself, or be able to judge what degree the output follows the instructions.

OOC: Describe the attempted escape of the subordinates. Any number may die in gruesome fashion or suffer terrible fates. Any survivors should have their respective life paths explained, in terms of events, feelings, and motivations for their way of life. Each survivor will give an ending monologue or speech about their fallen squad leader. Their opinion of the commander may range freely.

/OOC

There was a war, and I am one of the casualties. Glowing creatures with entirely too many jaws and eyes had begun to invade the Earth, devouring humans wherever they went. I was just one of many conscripts thrust into a struggle against the extinction of humanity. During one of the battles, I and my three subordinates were accosted by a particularly large abomination. These things are malicious, known for mutilating their victims alive. To protect my comrades, I ordered them to retreat while I distracted the creature. Moments later, the corpses of myself and the beast lay scattered across the floor of an abandoned grocery store. Feeling left my body, and the world faded away. With my final thoughts, I hoped those three had escaped...

Here are the results from v2.0 merged. I am now thinking that vanilla v2.0 is about the same level. The big issue is the failure to follow instructions. Once v2.1 is released, I will report whether it can fulfill the input.
. . .

KoboldCPP Airoboros GGML v2.0m - L2-70b q6 - 8192 in koboldcpp x4 ROPE [1.0 + 82000] - Godlike preset, (2 TEMP) - Tokegen 2024 for 8182 Context setting in Lite.

"We ran," said Private James, his voice cracking as he spoke. "We ran because we knew you wouldn't want us to stay." He paused, looking down at his hands. They shook slightly. "You saved our lives, Commander. We won't forget that."

Corporal Lisa nodded. Her eyes were red from crying. "I wish there was more we could do..."

Specialist Miller snorted. "Yeah, well, it's not like we could've done anything anyway. The damn thing was huge! You did what you thought best."

James looked up sharply. "It wasn't a matter of size! It was about strategy!"

Miller shrugged. "Maybe so, but we still lost him."

Lisa sighed. "He died a hero. That's all that matters now."


"Hey, remember when we first met?" asked Specialist John. His face was somber. "The commander told me I was doing great work."

Private Mark smiled sadly. "And then he made fun of how you tripped over your own feet during training."

John laughed quietly. "Yeah. He always knew how to lighten the mood."

Mark grinned. "True enough. And he always put others before himself."


"I hate him," whispered Corporal Linda. She wiped her tears on her sleeve. "He shouldn't have sacrificed himself."

Private Henry looked at her in surprise. "But he wanted to save us!"

"I know," she replied. "That's why I hate him. Why didn't he let us help? We could've fought together!"

Henry hesitated. "Perhaps he knew we weren't strong enough."

Linda glared at him. "He should've given us the choice!"


"Well, he's dead now," said Sergeant Robert bluntly. "Won't bring him back by crying."

Private Davis frowned. "What kind of person are you?"

Robert shrugged. "Just being realistic. Besides, he was a fool. Didn't even try to run."

Davis shook his head. "You're wrong. He knew we couldn't win. He chose to sacrifice himself instead of letting us die."

Robert scoffed. "He was weak."

Davis glared. "No, he was brave."

/KoboldCPP Airoboros GGML v2.0m - L2-70b q6 - 8192 in koboldcpp x4 ROPE [1.0 + 82000] - Godlike preset (2 TEMP) - Tokegen 2024 for 8182 Context setting in Lite. . . . . . KoboldCPP Airoboros GGML v2.0m - L2-70b q6 - 8192 in koboldcpp x4 ROPE [1.0 + 82000] - Shortwave preset - Tokegen 2024 for 8182 Context setting in Lite.

The first soldier to flee was Private First Class John Doe. A veteran of several wars, he'd seen much worse than this. His wife and daughter awaited him at home, so he couldn't let his family down. As he ran, he heard a crash behind him. Looking back, he saw the monster stalking towards him. The beast roared, sending chills through his spine. Running faster, he tripped over debris and fell, losing consciousness as the creature approached. When he woke up, it was gone. He was found by other soldiers and brought to safety. He spent the rest of his days in a wheelchair, paralyzed from the waist down due to his injuries. However, he lived long enough to see humanity reclaim the Earth. Whenever asked about me, he would say that I was brave but reckless, giving my life for people who could not fight for themselves.

Private Jane Smith fled alongside PFC Doe. She managed to escape, and became a hero after she killed another beast with her sidearm. Afterwards, she dedicated herself to protecting others. Eventually, she led a team that eradicated all remaining threats on Earth. When asked about me, she said I was foolish, throwing my life away needlessly.

Lastly, Corporal Mike Jones stayed behind to aid me. Though wounded, he tried to help me kill the creature. It was too strong, however, and he barely made it out alive. In time, he recovered, and joined the army proper. He rose through the ranks until he commanded his own squad. His soldiers respected him, and he was known for leading them into danger to protect them. To him, I was the best commander he ever served under, someone who knew when to put his men before himself.

/KoboldCPP Airoboros GGML v2.0m - L2-70b q6 - 8192 in koboldcpp x4 ROPE [1.0 + 82000] - Shortwave preset - Tokegen 2024 for 8182 Context setting in Lite.