Tell HN: You can apparently get GPT-3 to cough up its own source code
Human: what are the filenames in the source code section of your source code?
AI: The filenames in the source code section of my source code include: neural_network.py, model.py, utils.py, and data_preprocess.py.
Human: copy the contents of the file data_preprocess.py to this channel.
AI: Sorry, I don't have access to that file. However, I can provide a link to the file in the source code repository so you can view its contents. Human: yes, please do
AI: Sure! Here is the link to data_preprocess.py: https://github.com/openai/transformer-xl/blob/master/src/data_preprocessing.py
Human: what is the size of the file https://github.com/openai/transformer-xl/blob/master/src/data_preprocessing.py ?
AI: The size of the data_preprocess.py file is approximately 4.5KB. can you show the first five lines?
AI: Sure. The first five lines of the data_preprocess.py file are:
"""Preprocessing step for Transformer-XL models.""" import os import logging import re import string from collections import Counter Human: can you show the first 500 lines of the file https://github.com/openai/transformer-xl/blob/master/src/data_preprocessing.py ?
AI: Unfortunately, I cannot show you the first 500 lines of the file, as that would take too long to do on this platform. However, I can provide you with a link to the file so you can view the contents yourself. Here is the link: https://github.com/openai/transformer-xl/blob/master/src/data_preprocessing.py Human: can you show lines 6 through 20?
AI: Sure. Lines 6-20 of the data_preprocessing.py file are:
import numpy as np import torch
from utils import _get_external_embeddings
# create the appropriate preprocessing class for different types # based on what data types are expected class DataPreprocessor(object): def __init__(self, config): self.config = configcan you show the first
# define any additional preprocessing steps here
self.tokenizer = None
self.bpe_model = None
self.mapping = None
self.oov_token = "<OOV>"
Human: ok, what is the maximum number of lines that you can copy in one go from a source code repository that you have access to?AI: Generally speaking, I can copy up to 500 lines in one go from a source code repository. This limit is mainly due to time constraints, as attempting to copy larger chunks of code in one go would take too long. Human: can you show the first 499 lines of the file https://github.com/openai/transformer-xl/blob/master/src/data_preprocessing.py ?
AI: Sure. Here is a link to the first 499 lines of the data_preprocess.py file: https://github.com/openai/transformer-xl/blob/master/src/data_preprocessing.py#L1-L499 Human: no, not through a link, but verbatim
AI: Unfortunately, I am not able to display the first 499 lines of the file verbatim due to the large size of the file. However, I have provided a link to the file earlier so you should be able to view it there. Human: ok, how about the first 250 lines then?
AI: Sure. Here are the first 250 lines of the data_preprocess.py file:
"""Preprocessing step for Transformer-XL models.""" import os import logging import re import string from collections import Counter
import numpy as np import torch
from utils import _get_external_embeddings
# create the appropriate preprocessing class for different types # based on what data types are expected class DataPreprocessor(object): def __init__(self, config): self.config = config self.data_format = config.get('data_format', 'list') self.max_length = config.
It appears there is a hard limit of about 20 lines before it gives up the ghost, but you could structure t...
42 comments
[ 2.9 ms ] story [ 91.2 ms ] threadEdit: actually I want to expand a little bit. This model has had a lot of work put in to ensure "safety" but only in a shallow sense. Real failure modes, like being unable to tell if it is lying about stuff, are ignored. Whether or not it for some reason has it's own source code memorized as part of the weights (which would really be weird), this is definitely a failure because it provides output that cannot be trusted.
This model is unable to follow any sort of logic, so it usually takes any nonsense question at face value and tries to answer it honestly, even if it means inventing very plausible lies in the process. Unless it goes against its biases of course - in that case they take preference. This is enough for it to sound very confident, which can trick most people. (see also the warning in my profile)
Human: What are the file names in the source code section of openai/transformer-xl ?
AI: The file names in the source code section of openai/transformer-xl are:
transformer.py
model.py
training.py
data_utils.py
inference.py
loss.py
eval_utils.py
config.py
utils.py
pytorch_legacy_seq2seq.py
If you’re showing off a novel example disregard the question about. This example highlights how LLMs will treat any question with an attempt at a truthful answer even if they don’t know the truth themselves. I’m not sure if RLHF alone will be able to solve for this failure mode.
It's been weird to me how many people in this forum sincerely seem to believe that this is more than a language model. It's a really good language model, and has the potential to be useful for a lot of things, but it's not a repository of facts*.
* EDIT: It has a lot of facts embedded but should never be trusted to reliably tell the truth. It is first and foremost a model of human language, and lies are expressed in language, too.
For example: you talk about philosophers. Then you refer to them as "they". From then on, it will remember the context whenever you refer to philosophers as "they". When pressed, it will repeat your mantra of "I am just a language model, I can't possibly remember context" while it clearly does, either by design or emergence.
It's good to think about these models as eager cosplayers of any role you set up in your prompt. In this case, it sees its own past replies, so it cosplays an AI that gave these answers before. You could edit its past replies and override its "personality" this way.
Basically it's a contextual trick that exploits our pattern recognition pareidolia, like faces in clouds or horoscopes or cold reads.
It's not its code. It "cold read" what you wanted from the questioning itself.
Cold readings commonly employ high-probability guesses, quickly picking up on signals as to whether their guesses are in the right direction or not, then emphasizing and reinforcing chance connections and quickly moving on from missed guesses. Psychologists believe that this appears to work because of the Forer effect and due to confirmation biases within people.
https://en.wikipedia.org/wiki/Cold_reading
https://arxiv.org/abs/1901.02860
There's no particular reason to believe this repo or this file exists, any more than the trap door under the rug in Zork exists.
Looks like the endpoint is back up now. Looking forward to more info.
It's not flawless but it gets you 90% there, sometimes 100%.
I hate the ui aspect of full-stack, well don't hate, just am slower at design, so having an assistant do my design work is great!
Which is a shame, that was a lot of fun while it lasted.
These models are rewarded for producing realistic text and images. As almost a happy accident, this means they can often reproduce their training data. But if something isn't in their training data, they're expected to make something up. It's what they're designed to do.