Bartz v. Anthropic — Slack exhibits

859 messages

Slack messages filed as exhibits in Bartz v. Anthropic PBC, No. 3:24-cv-05417-AMO (N.D. Cal.), transcribed from the scanned exhibit PDFs. Exhibits are in chronological order. Within each one, messages follow the export's order, so thread replies come right after their parent and timestamps sometimes jump backwards.

  • Click a message's timestamp, or the link button beside it, to get a permanent link to it.
  • Timestamps are as printed in the export. For edited messages, only the final text is shown.
  • Black bars are redactions in the court filing. Most attachments appear only as blank placeholders in the exports, so they're shown by filename.
  • Lawyers' highlighting and annotations are omitted.

#tokens-org-updates

Mar. 24, 2021 · ECF 560-29 (PDF) · 13 messages

The earliest Books3 evidence: Books3 weighted in the first tokenizer-training mix.

benMar 24, 2021, 12:11 AMedited Mar 24, 2021, 12:14 AM

Getting very different text lengths than expected
# mix configuration
MIX = [["books3", 26], ["openwebtext2", 20], ["enwikipedia", 4], ["mix", 50]]
BIG_MIX = MIX + [["py-only", 25]]

# document length sum ratios we get out of the mixer/sampler
0.04 enwikipedia
0.14 books3-chunked
0.21 openwebtext2-chunked
0.26 the-pile
0.35 mysql-2021-03-06-noforkI'm guessing this is because code compresses better than natural language. We might want to adjust the mix ratios in the canonical mix before we re-encode. One way to do this would be decompress a file or two from each, check the compression ratio, and then use that ratio when computing how many files to sample.
Here's the compression ratio for our mix datasets, which confirms by above theory
{
"books3": 0.3605096382995953,
"enwikipedia": 0.37079073937011686,
"mix": 0.3328165769499958,
"openwebtext2": 0.3725931528444764,
"py-only": 0.20317927545983844,
}However you might also expect BPE to be more effective for code, so perhaps calculating based on the compressed values is better. For now I'll proceed with the heavily downweighted code above (100 -> 25)
Encoding trained on 100k documents, which took about 2 minutes start to finish on 96 cores
ff cat s3://anthropic-us-east-1/data/bitbox/encoding/canonical-v1_s1e+05_v5e+04.json | jq -C . | less -RContains pretty reasonable looking vocab

[ Draft PR]
Next steps:

  • check BPE compression ratios on a couple datasets
  • encode all the datasets in the mix
↳jaredMar 24, 2021, 10:29 AM

I was imagining just making a separate language and code dataset, and then training on a mix?

↳jaredMar 24, 2021, 10:31 AM

My guess is that encodings aren't super sensitive to the precise mix, but I could be wrong, it's just a guess.

(So I'm not very worried)

↳jaredMar 24, 2021, 10:46 AM

My mental model is that performance is very insensitive to vocabulary size, and training on p% code and (1-p)% language is strictly better than training a p*n_vocab encoding on code and a (1-p)*n_vocab model on language, so the exact ratios will be really unimportant as long as they're within a factor of a few of 50/50.

#tokens-org-updates

June 7–8, 2021 · ECF 560-30 (PDF) · 12 messages

Ben Mann's LibGen download.

benJun 7, 2021, 8:56 AM

We now have 15 TB (yes T) of dumped WET files
ff REDACTEDdata/raw/common-crawl-wet/CC-MAIN-2017-22/
ff REDACTEDdata/raw/common-crawl-wet/CC-MAIN-synth/Hopefully will get a chance to start dumping libgen by tonight

🙌1
benJun 7, 2021, 2:45 PM

Currently pulling libgen at 40MB/s, but my 300G disk is going to fill up, so will need to write some kind of producer/consumer to shuttle things off to s3

↳benJun 7, 2021, 4:09 PM

metadata sample

[{'ID': '2331049',
'MD5': '641DC5DCE2FE9F2A12E3BBB9E9584C1E',
'Title': 'Sofia Petrovna',
'Author': 'Lydia Chukovskaya, Eliza Kellogg Klose (editor)',
'Series': '',
'Edition': 'Revised and Amended',
'Language': 'English',
'Year': '1988',
'Publisher': 'Northwestern University Press',
'Pages': '120',
'Identifier': '0810107945,9780810107946',
'GooglebookID': '',
'ASIN': '',
'Coverurl': '2331000/641dc5dce2fe9f2a12e3bbb9e9584c1e-g.jpg',
'Extension': 'pdf',
'Filesize': '19076046',
'Library': '',
'Issue': '',
'Locator': 'Sofia Petrovna _ Lydia Chukovsk - Chukovskaia, Lidiia Korneevna;W.pdf',
'Commentary': '',
'Generic': '',
'Visible': '',
'TimeAdded': '2021-06-06 02:20:32',
'TimeLastModified': '2021-06-07 03:00:03'}]
↳benJun 7, 2021, 4:09 PMedited Jun 7, 2021, 4:12 PM

MD5 corresponds to the hash in the torrent

↳benJun 8, 2021, 11:21 AM

fiction metadata dump:
REDACTEDdata/raw/libgen/fiction/metadata.csv.gz
REDACTEDdata/raw/libgen/nonfiction/metadata.csv.gz

↳benJun 8, 2021, 12:23 PM

Analysis notebook
Top file extensions for Fiction

[Row(Extension='epub', count=1296036),
Row(Extension='pdf', count=266084),
Row(Extension='mobi', count=237827),
Row(Extension='rar', count=117357),
Row(Extension='lit', count=64659),
Row(Extension='txt', count=57003),
Row(Extension='rtf', count=56605),
Row(Extension='doc', count=51297),
Row(Extension='azw3', count=49166),
Row(Extension='html', count=24270),
Row(Extension='zip', count=21490),
Row(Extension='htm', count=20965),
Row(Extension='fb2', count=20646),
Row(Extension='pdb', count=11734),
Row(Extension='lrf', count=10434),
Row(Extension='prc', count=4977),
Row(Extension='cbz', count=3996),
Row(Extension='htmlz', count=3904),
Row(Extension='docx', count=3095),
Row(Extension='cbr', count=2411),
Row(Extension='azw', count=1598),
Row(Extension='xml', count=870),
Row(Extension='odt', count=865),
Row(Extension='djvu', count=713),
Row(Extension='oeb', count=490),
Row(Extension='gz', count=453),
Row(Extension='txtz', count=395),
↳benJun 8, 2021, 12:25 PMedited Jun 8, 2021, 12:25 PM

top 10 extensions with identifiers

[Row(Extension='epub', count=571475),
Row(Extension='mobi', count=100185),
Row(Extension='pdf', count=64569),
Row(Extension='azw3', count=19300),
Row(Extension='fb2', count=13440),
Row(Extension='rtf', count=9119),
Row(Extension='lit', count=8324),
Row(Extension='txt', count=6802),
Row(Extension='rar', count=5068),
Row(Extension='lrf', count=3409)]
benJun 7, 2021, 10:54 PM

Made a cute little libgen babysitter to make sure we don't exhaust our disk
REDACTEDanthropics/anthropic/pull/1070
Might finish fiction in 24h? Then will move on to nonfiction.

🙌1

#tokens-org-updates

June 8–9, 2021 · ECF 554-14 (PDF) · 17 messages

Books3 vs. web text experiments.

dannyJun 8, 2021, 3:28 PMedited Jun 8, 2021, 3:48 PM

Some initial experiments on text data quality/transfer. I thought it was strange that on our current single best eval metric: language-combined-evals training on just pile and books3 did surprisingly well and training on just enwikipedia did openwebtext2 did surprisingly bad. How different is pile from our canonical datasets?

These are all 8-layer models trained on one distribution and evaluated on several others.

Models aren't fully trained yet.

attachment Screen Shot 2021-06-08 (260 KB), marked "Deleted on 06/08/2024 1:17 AM"

↳dannyJun 8, 2021, 3:29 PM

language-combined-evals description
"Raw evaluation data we're using as a quick proxy for performance, combining "
"hellaswag, triviaqa, squad, winogrande, lambada, openbookqa, and arc, REDACTED
REDACTED

↳dannyJun 8, 2021, 3:30 PM

Maybe it's a formatting issue with wikipedia, or maybe wikipedia is very helpful mixed in, but not great to train on by itself because of sufficiently different formatting or something

↳dannyJun 8, 2021, 3:32 PM

I was also surprised that books3 had much better transfer to python than webtext or wikipedia

attachment Screen Shot 2021-06-08 (284 KB), marked "Deleted on 06/08/2024 1:17 AM"

🤔3
↳dannyJun 8, 2021, 3:35 PMedited Jun 8, 2021, 3:37 PM

More excited for libgen after seeing how well books3 is doing in some ways.
I think it'd be helpful to split fiction and non-fiction, so I can study the quality/transfer of those two datasets seperately. They feel quite different.

🎉2➕2
↳dannyJun 8, 2021, 3:40 PM

Another view on wikipedia and webtext not doing great

attachment Screen Shot 2021-06-08 (245 KB), marked "Deleted on 06/08/2024 1:17 AM"

↳dannyJun 8, 2021, 3:48 PM

Next experiments I plan on doing are

  1. A few mixtures. I wonder how much of the benefit for pile and canonical-8k are coming from having at least some small fraction of openwebtext2, books3, and enwikipedia.
  2. Size scan.

@jared @ben

↳jaredJun 8, 2021, 4:10 PM

I don't have a strong prior belief here. I have a personal preference for books so I'm amused that they're doing well. The pile has a lot of academic papers and stuff in it as well. You can look up the paper to see the exact mixture.

↳dannyJun 8, 2021, 4:17 PMedited Jun 8, 2021, 4:18 PM

Yeah, I was surprised by how academic the text in the pile is.

attachment Screen Shot 2021-06-08 (114 KB), marked "Deleted on 06/08/2024 1:17 AM"

↳dannyJun 8, 2021, 4:23 PM

It looks like canonical-8k is REDACTED books, REDACTED webtextREDACTED wikipedia, REDACTED pile. So makes sense why pile and canonical are so similar.

REDACTED
# Make sure we only get 1 copy of each of these.
["khan-math", 1e-8],
["hendrycks-math", 1e-8],
]
PILE = [
["mix", 100],
# Make sure we only get 1 copy of each of these.
["khan-math", 1e-8],
["hendrycks-math", 1e-8],
] https://github.com/anthropics/REDACTED
👍1
↳benJun 8, 2021, 4:27 PMedited Jun 8, 2021, 4:28 PM

Are there any stats on what's in books3? Very curious why it's doing better on python. Could be worth just looking at 1000 shuffled titles and getting a rough feel. Maybe it's just line wrapping and indentation matching 😅

↳dannyJun 8, 2021, 4:38 PM

I haven't found stats, but from what I can tell books3 is all of bibliotik which seems like a private torrent network around booklike things. in plain text form. I think it includes magazines, textbooks, and niche text people on the internet would want...

People on the internet like programming textbooks, so that's my guess at what makes books3 good at programming.

https://github.com/soskek/bookcorpus/issues/27#issuecomment-716104208

↳dannyJun 8, 2021, 4:42 PM

It seems like the-eye is a group that works with the pile

https://the-eye.eu/public/Books/

I think these directories give you some idea of the kind of distribution books3 is, but don't know anything about the relative size.

There are some big top level categories like:

Poetry, SciFi_fantasy, History, Manuals, Medical

But there's also some much more specific top level categories that
4chan_pol_Archives, Asimov, Playboy, Radical Feminist Literature

↳benJun 8, 2021, 5:04 PM

Yea I think just glancing at the titles will be more informative for that reason. I can get you the bash command after I land in sf

👍2
↳jaredJun 9, 2021, 12:33 PM

It's interesting that the curves cross here, rather than maintaining the same rankings throughout

↳dannyJun 9, 2021, 1:34 PMedited Jun 9, 2021, 1:34 PM

Yeah, the crossings of various curves makes me less sure what to expect when scaled up to larger models.

➕1

#tokens-org-updates

July 3–9, 2022 · ECF 554-12 (PDF) · also filed as ECF 560-31 · 26 messages

The PiLiMi “just in time!!” thread.

↳benJul 3, 2022, 3:00 PM

From their FAQ:

Q: Should the Z-Library collection be added to Library Genesis?
A: Yes! However, it is tricky. Library Genesis splits out its collection between non-fiction and fiction. They also have relatively high quality standards. If you are interested in organizing all the books to meet their requirements, let us know.

↳benJul 3, 2022, 3:01 PM

We will release the data in stages, as we are still processing the files. Right now the metadata file and a few of the torrents are available. Note that the torrent files are only available through our TOR mirror.

Presently, only the first four of several dozens of parts are available.

↳benJul 3, 2022, 3:05 PM

💥
Since Library Genesis is already preserved with public torrents, and is included in the Z-Library, we did a basic deduplication against Library Genesis in June 2022.

↳benJul 3, 2022, 3:07 PM

Most files are legitimate ebooks or scans of books, but there might some malicious files in there. We didn't do a virus scan of the collection. It should be safe to download the torrents, but if you want to open any of the books, be sure to have updated your viewing software to the latest version, and don't run any executables.

↳benJul 3, 2022, 4:24 PM

@nova (not technically a bot) wanna help us scrape this? i already have a transmission automated setup ready to roll
https://github.com/anthropics/anthropicREDACTEDbitbox/scrape/libgen/libgen_babysitter.py

↳nova (not technically a bot)Jul 3, 2022, 4:26 PM

yes, are you doing this now or in a few hours? I'm about to head out

↳nova (not technically a bot)Jul 6, 2022, 6:53 AM

update on this, I have the torrent files and I'm kicking this off, haven't decided whether I'm going to try on gcp instead of AWS yet

💥2
↳Sheer El ShowkJul 6, 2022, 1:34 PM

@nova (not technically a bot) this might be another motivation to set up an isolated cluster? happy to pair on that (maybe next week?).

↳sam-plingJul 6, 2022, 1:51 PM

excited about getting this data – seems like it might get us to our 8T target?

👍1
↳Sheer El ShowkJul 6, 2022, 1:53 PM

a lot of these might be scans which would reduce the overall token count and also require us to set up a tesseract (or alternative pipeline). don't mean to curb enthusiasm too much but just something to bear in mind.

👌2
↳nova (not technically a bot)Jul 8, 2022, 12:03 AMedited Jul 8, 2022, 12:05 AM

These are currently downloading, ebs volume is vol-0e8d35e795abd072c, I expect to have most in ebs in the morning

↳nova (not technically a bot)Jul 8, 2022, 10:20 AM

Naive estimate of words downloaded based on a 1% sample extraction (index is the output of find):

nova-public-0 (unsynced) /mnt/zlib/pilimi$ du -sh .
987G .
nova-public-0 (unsynced) /mnt/zlib/pilimi$ wc -l index
496447 index
nova-public-0 (unsynced) /mnt/zlib/pilimi$ shuf index | head -n 5000 | xargs -I {} -P 20 sh -c 'pandoc {} -t markdown 2> /dev/null | wc -w || true' | perl -ne 'BEGIN{$c = 0;$i = 0;}$i++;chomp;$c+=$_;print $i."/5000\t".sprintf("%02d", $c/$i*`wc -l index`/1000000)."M\n"'
[SNIP]
4997/5000 2359M

Not sure why many of them are returning 0 - probably due to UTF errors which I was seeing. I'm running another extract using unoconv but I'm not putting much effort into it. Format is .fb.zip files, should be pandoccable with a bit of effort.

↳nova (not technically a bot)Jul 8, 2022, 10:28 AM

unoconv is buggy here for reasons that are unclear to me and I'm not that interested in re-estimating, @Sheer El Showk any preferences for conversions etc before I upload to S3?

↳Sheer El ShowkJul 9, 2022, 5:08 AM

I was gonna start looking at these files but I'm worried about the possibility of malicious files. what measures do we want to take against this? is this the day we figure out a throw-away GCP cluster?

↳Sheer El ShowkJul 9, 2022, 5:10 AM

related to this: do we want to mirror some choice non-confidential buckets to gcp (such as data/raw) or do we just want to copy data over ad-hoc?

↳nova (not technically a bot)Jul 9, 2022, 7:00 AM

@eli any chance that you can terraform something temporary?

#tokens-org-updates

July 12–13, 2022 · ECF 554-16 (PDF) · 95 messages

Processing PiLiMi; data priorities; Wayback Machine WARCs.

↳nickJul 12, 2022, 3:13 AM

Next trying to understand this command from Nova:

shuf index | head -n 5000 | xargs -I {} -P 20 sh -c 'pandoc {} -t markdown 2> /dev/null | wc -w || true' | perl -ne 'BEGIN{$c = 0;$i = 0;}$i++;chomp;$c+=$_;print $i."/5000\t".sprintf("%02d", $c/$i*`wc -l index`/1000000)."M\n"'It looks like this:
  1. shuf index | head -n 5000 -> pick out 5000 random files
  2. xargs -I {} -P 20 sh -c 'pandoc {} -t markdown 2> /dev/null | wc -w || true' - Run pandoc with 20 processes writing to markdown, counting words. Not sure what || true does, maybe only passes ones that have non-error output on?
  3. Send these counts to a perl script which prints out progress and maybe counts words? A bit confused here.
↳nickJul 12, 2022, 3:17 AM

Claude was helpful here, this seems to match up with Nova's claim that there were only 2.4B words. This is just in the current subset though, so it seems likely that even if we didn't do anything special we could get 240B words from this, which is larger than our libgen dataset. So that's exciting.

Next step is to address the pandoc issues though, we should be able to get much more data here

↳nickJul 12, 2022, 3:25 AM

Claude downloaded 20 files for me (so useful when I don't know basics of a language like bash!). Main error now is:

pandoc 132906 -t markdown
pandoc: Cannot decode byte '\x87': Data.Text.Internal.Encoding.Fusion.streamUtf8: Invalid UTF-8 stream

Different files fail on different bytes

↳nickJul 12, 2022, 3:37 AM

Ok, so I looked at the mime-types and got

binary
binary
binary
binary
binary
us-ascii
unknown-8bit
utf-8
utf-8
binary
utf-8
utf-8
application/mswordbinary
utf-8
binary
binary
binary
binary
binary
binary
binary
binary
us-ascii

binary utf-8 andus-ascii seem to be pandoc-able, whereas binary isn't. Figuring out what "binary" means seems like the main goal here.

↳nickJul 12, 2022, 4:00 AM

Ok, according to pilimi faq, we should look at the mysql metadata table to figure out formats and such.

↳nickJul 12, 2022, 4:01 AM

Seeing this if I cat the mysql file. I should probably load this into a MYSQL GUI of some sort, but I think I need security approval for that:

CREATE TABLE `books` (
`zlibrary_id` int NOT NULL,
`date_added` text NOT NULL,
`date_modified` text NOT NULL,
`extension` text NOT NULL,
`filesize` int DEFAULT NULL,
`filesize_reported` int NOT NULL,
`md5` char(32) DEFAULT NULL,
`md5_reported` char(32) NOT NULL,
`title` text NOT NULL,
`author` text NOT NULL,
`publisher` text NOT NULL,
`language` text NOT NULL,
`series` text NOT NULL,
`volume` text NOT NULL,
`edition` text NOT NULL,
`year` text NOT NULL,
`pages` text NOT NULL,
`description` text NOT NULL,
`cover_url` text NOT NULL,
PRIMARY KEY (`zlibrary_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
↳nickJul 12, 2022, 4:04 AM

Ok, some of them are fb2.zip files and unzip seems to work on them, still can't pandoc the unzipped file though

↳nickJul 12, 2022, 5:32 AM

Ok, this took me a while, but updating pandoc seems to have enabled me to get these

↳nickJul 12, 2022, 5:34 AM

Lots of this is non-english. Next step is to get the MYSQL table loaded up and see how much data is left after we filter for english, and likely filesize.

↳Sheer El ShowkJul 12, 2022, 5:41 AM

@nick from what I can tell pandoc can't handle pdfs so we're mostly targetting epubs right?

↳Sheer El ShowkJul 12, 2022, 5:42 AM

i've gotta go afk but I should be working again in 20-30 min if you want to just pair up on this

↳Sheer El ShowkJul 12, 2022, 5:43 AM

I'm increasingly wishing we could have a few simple throw away aws dev boxes completely outside our cluster for just doing stuff like this. using docker it's trivial to standup a throwaway mysql server. alternatively maybe we could just run vmware on our laptops? @nova (not technically a bot) @ben?

↳Sheer El ShowkJul 12, 2022, 6:38 AM

turns out I'm in a very noisy place (dropped kids off so they can play)…happy to see how magical my headphones are but i also don't want to disrupt your work so I can also do something else and pair later if you prefer

↳nova (not technically a bot)Jul 12, 2022, 7:19 AM

for the command: in part 2, the true prevents it from quitting on a nonzero exit code from pandoc, part 3 is sending the list of word counts to a perl script that estimates how many words there gradually by scaling by the number of lines received and the proportion of the index

↳nova (not technically a bot)Jul 12, 2022, 7:20 AM

I'm up and can pair if that's helpful, I think this isn't much data so doing the processing at GCP would be sufficient safety

👍1
↳nickJul 12, 2022, 7:22 AM

I think we are good for now! We are currently going through the mysql database of to try to figure out how much of each filetype / language, etc there are.

👍1
↳nickJul 12, 2022, 7:23 AM

I assumed that's fine to do on a devbox since the mysql file is just metadata / made by pilimi, although we could switch to GCP for this if needed

↳nova (not technically a bot)Jul 12, 2022, 7:24 AM

I think it's fine for now, feel free to spin this sort of thing up in a sandbox though

↳nickJul 12, 2022, 7:45 AM

Ok, the main result of pairing here is that it seems like:

  1. PiLiMi has ~70B tokens of English, 90% of which is PDFs. It's unclear if these require OCR
  2. There are about 120B tokens if we add in all the other languages

Overall seems less exciting than hoped for, but still likely worth getting.

↳nova (not technically a bot)Jul 12, 2022, 7:57 AM

did you convert the database to SQLite for easier future use?

↳nova (not technically a bot)Jul 12, 2022, 7:58 AM

also we can straightforwardly 7x this by waiting for the other drops

↳nickJul 12, 2022, 7:59 AM

We didn't convert to SQLite, I'm not sure how to do that

Oh, this is only 1/7th of the data they have?

↳nickJul 12, 2022, 8:11 AM

I think their mysql database is for the full dump. It seems to have ~2 million PDFs and 1.4 million epubs. The blog post says
After the deduplication we are left with over 2 million files, totalling just under 7TB.
The collection consists of two parts: a MySQL ".sql.gz" dump of the metadata, and the 72 torrent files of around 50-100GB each.

↳Sheer El ShowkJul 12, 2022, 8:36 AM

we can just dump the table to a csv and then import the csv into sqllite…happy to do this later (i'm afk right now)

↳nova (not technically a bot)Jul 12, 2022, 8:36 AM

That would be fine, it would just be nice to not have to pull up mysql for every little query

👍1
↳Sheer El ShowkJul 12, 2022, 8:37 AM

csv lets you use pandas which I think is probably easier for most ppl anyway

↳Sheer El ShowkJul 13, 2022, 8:10 AM

I've put the csv here and also created a small notion doc to help people setup a quick ad-hoc mysql server ( @nova (not technically a bot), @ben do we have security concerns around encouraging this?). happy for suggestions as to better homes for the dump and doc. cc @nick for notion doc

↳benJul 13, 2022, 8:28 PM

@Sheer El Showk your notion doc would make more sense as a colab notebook?

no need to refactor this one, but for future reference

↳benJul 13, 2022, 8:29 PM

for reference i have a similar mysql flavored thing here
https://github.com/anthropics/anthropic/REDACTED

Sheer El ShowkJul 12, 2022, 5:35 AM

How do I get the number of sequences to fill in for an EncodedDataset? I'm guessing it's spat out at the end of the spark job but those pods disappeared some time ago so is there another way to get that info or do I have to try to find them in sentry?

↳nickJul 12, 2022, 5:37 AM

I think there should be a metadata.json file which has a dictionary mapping each file to n_examples. You can sum the values there.

👍1
↳sam-plingJul 12, 2022, 8:18 AM

I got this notification from a recent job: https://anthropic.slack.com/archives/REDACTED

↳sam-plingJul 12, 2022, 8:19 AM

looks like you also got a few recently https://anthropic.slack.com/archives/REDACTED

↳Sheer El ShowkJul 12, 2022, 8:38 AM

thanks @sam-pling…i saw the complete part but didn't realize there was the rest of that info. very cool!

nickJul 12, 2022, 5:49 AM

My rough sense of prioritization right now for data, would welcome thoughts. I think we have two goals here:

  • Make sure we can get to 6.75T tokens somehow, as we then have a baseline we can try to improve on. This probably requires about another 2.5T tokens from where we are currently at.
  • Get the remaining large datasets in order of expected quality.

For the first one, reducing common-crawl filter, and filtering the remainder of commoncrawl seem the most promising, Kipply is working on this, and it seems like we can get there if we drop quality filter from p6 to p4 (maybe with p5, depending on how much repetition we do of other datasets).

For the second one, I think prioritization is:

  1. PiLiMi - we know libgen books are highest quality data, this claims to be a massive dataset of books so hopefully similar quality. This has 7TB (if all text, could be 3.5T tokens), so if we can extract all of this it could theoretically solve our data issue with mostly high quality data.
  2. reddit comments - We think there are 350B tokens here and that PaLM used it or similar data for half their dataset (so they probably did some checks that it was good).
  3. non-english books - Books are high quality. This is probably not worth too much effort as its only 70b tokens.
  4. podcast transcripts - seem like they should be high quality and long context data. estimate is 200B words so pretty significant on size
  5. national technical reports library - seems high quality, 116B token estimate

I don't think we should work on multilingual commoncrawl until we've tried the above. I think the above will be high quality and I'm pretty optimistic we will be able to hit 6.75T tokens without resorting to multilingual commoncrawl.

👍5
↳Sheer El ShowkJul 12, 2022, 5:55 AM

just to clarify we already have 70b toks from the multilingual books. the raw datasets are in and I'm waiting on some spark capacity to finish the encoded datastes. Also for CC we should distinguish PDFs from websites. I think there's a fair amount of non-en PDFs we can easily pull out just by turning off the filter. I'll update here when I find the estimate but IIRC it's about the same as we had en PDFs (from CC).

↳Sheer El ShowkJul 12, 2022, 5:56 AM

here's the info on the additional CC pdfs we could get (both en and non-en) :
https://anthropic.slack.com/archives/REDACTED

↳nickJul 12, 2022, 5:56 AM

Excellent! 🙌 How high quality do you think the CC PDFs are in general?

↳Sheer El ShowkJul 12, 2022, 6:02 AM

Not really sure. I think it's a mixed bag but I added a lot of heuristics to reduce crappy docs. I filter docs with less than 10 pages per doc and less than some num words per page. Without those filters they'd be way more docs

nickJul 12, 2022, 7:45 AM

replied to a thread:

Looking into PiLiMi dataset. Writing notes in 🧵

Ok, the main result of pairing here is that it seems like:

  1. PiLiMi has ~70B tokens of English, 90% of which is PDFs. It's unclear if these require OCR
  2. There are about 120B tokens if we add in all the other languages

Overall seems less exciting than hoped for, but still likely worth getting.

sam-plingJul 12, 2022, 8:28 AMedited Jul 12, 2022, 8:29 AM

measured some interventions suggested by ben on a simple spark-encode job: link

nickJul 12, 2022, 9:07 AM

Did another pass through Chinchilla / Gopher for dataset ideas. Two things jump out at me

  • They have 676B tokens of "News". My guess is they just scraped a bunch of news sites separately for this. I'm sure much of this is in CommonCrawl, but maybe its worth separating it out to make sure we get all of it.
  • They have 182B tokens of C4. This is a subset of CommonCrawl that Google filtered and deduplicated. Again, we could separate this out and take all of it without filtering again using our current filter.
  • Gopher claims quite significant gains from deduplication - we might want to look into that some more.
👍1
↳sam-plingJul 12, 2022, 9:11 AM

I wonder if there are any particularly good narrow filters of common crawl we can do?

e.g.:

  1. make a list of news websites and filter for that
  2. filter for pages that have mathjax or latex in it
↳nickJul 12, 2022, 9:15 AM

Ben suggested just having a domain whitelist and fully crawling those

👍1
↳sam-plingJul 12, 2022, 9:17 AM

(I think possible we've been a bit too reluctant to crawl things ourselves, not sure though)

↳nickJul 12, 2022, 9:18 AM

Hm, I think getting it from CC is easier since it's already there and we just need to add some sort of rule like "if domain contains www.cnn.com, don't filter it at all"?

👍1

Unless we think CC is incomplete or messing something up, in which case crawling it ourselves would be useful

↳nickJul 12, 2022, 9:19 AM

I have no idea either. We could crawl ourselves and crawl from CC for a couple example domains to find out.

↳sam-plingJul 12, 2022, 9:22 AMedited Jul 12, 2022, 9:22 AM

@ben, do you know how complete common crawl is? also cc @nova (not technically a bot) @Joshua Landau since you have experience with this sort of thing

↳sam-plingJul 12, 2022, 9:23 AM

a monthly crawl now runs for 10-12 days on 100 EC2 instances.ooooh, good to know

↳nickJul 12, 2022, 9:25 AM

My read on that thread is that it isn't very complete, which makes running our own crawls seem more useful

↳sam-plingJul 12, 2022, 9:25 AM

also sounds like archive.org might be significantly more complete?

👍1
↳nova (not technically a bot)Jul 12, 2022, 9:26 AM

Also doing a crawl on warcs should get us lots of extra pages if we want

↳sam-plingJul 12, 2022, 9:27 AM

could you elaborate on that? I thought we were already using WARCs?

↳nova (not technically a bot)Jul 12, 2022, 9:28 AM

Crawl on Wayback Machine WARCs

👍1

So all past versions of sites like CNN

👍1
↳nickJul 12, 2022, 9:34 AM

I'd be happy to pair on this if helpful (free for the next hour). If not, I might look around some more on internet archive to see if there are any other datasets that look large / promising.

↳sam-plingJul 12, 2022, 9:34 AMedited Jul 12, 2022, 9:34 AM

it looks to me like you can directly see (e.g.) their crawls for each day, though it can't be directly downloaded

attachment image.png (811 KB; preview blank in export)

↳nova (not technically a bot)Jul 12, 2022, 9:35 AM

You can download those, yes

Just have to ask IA directly

👍1
↳benJul 12, 2022, 5:38 PM

@nick for news we can whitelist a bunch of news site domains to ensure we don't accidentally lose them from quality filter

i don't expect C4 to be very different from what we've got

👍1
↳nickJul 12, 2022, 5:39 PM

I think the concern is that commoncrawl might not have all the news articles

nova (not technically a bot)Jul 12, 2022, 10:11 AMedited Jul 12, 2022, 10:13 AM
seq 1 999 | xargs -I {} -P 8 wget https://archive-it.org/collections/{}
rg 'no public' --files-without-match | sort -n | xargs elinks -dump -dump-width 9999 | fgrep Title: | sed 's/ Title: //' | sort -u
<SNIPPED TO THREAD>
echo $(( `rg 'no public' --files-without-match | sort -n | xargs elinks -dump -dump-width 9999 | fgrep -e 'Total Results' | sed 's/ Title: //' | perl -pe 's/Page.*\((\d+).*/$1+/; chomp;'`0 ))312 Archive-it collections, not sure how valuable they are (seeing 21064 pages of results from all collections)
nova (not technically a bot)Jul 12, 2022, 10:12 AMdeleted Jul 12, 2022, 10:13 AM

attachment titles.txt (.txt | 127 KB)

kipplyJul 12, 2022, 11:20 AMedited Jul 12, 2022, 11:22 AM

https://docs.google.com/REDACTED some samples of different filtrations of cc (content warning!!! some nsfw in there)

↳kipplyJul 12, 2022, 11:23 AMedited Jul 12, 2022, 11:23 AM

a five second notion search doesn't turn this up, point me somewhere? :blobthx:

↳sam-plingJul 12, 2022, 11:23 AM

here's the kind of thing it creates: https://s3-frontend.he.anthropic.comREDACTED

it's just a umap of a dataset subsample, using a tiny model, with mouseover to show the samples

↳sam-plingJul 12, 2022, 11:24 AM

I find that it's an easier way to qualitatively understand the contents of different datasets

blobheart1

search for https://s3-frontend.he.anthropic.com/REDACTED

↳sam-plingJul 12, 2022, 11:25 AM

(name comes from chris's " activation atlases", which is basically what this is)

↳sam-plingJul 12, 2022, 11:26 AM

one way we could use it for CC filtering is to color points by the filter score

↳sam-plingJul 12, 2022, 11:28 AM

main thing that'd keep it from working right now is installing cuML, which is super annoying for some reason

#tokens-org-updates

Aug. 10, 2022 · ECF 554-13 (PDF) · 32 messages

PiLiMi book and token counts.

Sheer El ShowkAug 10, 2022, 6:59 AM

It seems that while we have everything PiLiMi has (~2m books) this is still much smaller than their metadata file would indicate (10m). The discrepancy seems to be that PiLiMi collected metadata from Z-library ( https://en.wikipedia.org/wiki/Z-Library) but they have only been able to download 2m books ( http://pilimi.org/blog-introducing.html). So @nick this unfortunately means my estimates will probably be reduced by a factor of ~5 (I only read the above when trying to understand the file count discrepancy — I had assumed that getting all the pilimi data would mean getting everything in the metadata file 😞 ).

↳nickAug 10, 2022, 8:20 AM

Ok, that's unfortunate but still a pretty great dataset to have! Do we know why they have only been able to download 2m books? (I couldn't see any mention of that in the blog post) Do we think they will eventually get all of them?

↳nickAug 10, 2022, 8:39 AM

Ah ok, it looks like its the dedup against libgen that is the problem:
Since Library Genesis is already preserved with public torrents, and is included in the Z-Library, we did a basic deduplication against Library Genesis in June 2022. For this we used MD5 hashes. There is likely a lot more duplicate content in the library, such as multiple file formats with the same book. This is hard to detect accurately, so we don't. After the deduplication we are left with over 2 million files, totalling just under 7TB. https://www.reddit.com/r/libgen/comments/vr5cq3/introducing_the_pirate_library_mirror_preserving/

↳Sheer El ShowkAug 10, 2022, 8:40 AM

I don't think it's the only problem … it looks like they can't access most of Z-library

↳Sheer El ShowkAug 10, 2022, 8:41 AM

well tbh this is not maximally clear
The first library that we have mirrored is Z-Library. This is a popular (and illegal) library. They have taken the Library Genesis collection and made it easily searchable. On top of that, they have become very effective at solliciting new book contributions, by incentivizing contributing users with various perks. They currently do not contribute these new books back to Library Genesis. And unlike Library Genesis, they do not make their collection easily mirrorable, which prevents wide preservation. This is important to their business model, since they charge money for accessing their collection in bulk (more than 10 books per day).I don't understand if this means they have managed to download most of it or not

👍1
↳Sheer El ShowkAug 10, 2022, 8:43 AM

I'd have to go back and check but I don't recall libgen having ~8m books which is what would be implied if they went from 10m to 2m by dedup. @ben had a thread/notebook on this but I'd have to find it.

but in practice I don't think anything more will be available in a finch timescale

sadly

I'm adding in more file-format which might give us a bit of a boost (we can handle anything calibre can and that's quite large)

↳nickAug 10, 2022, 8:43 AM

Yep, would still be useful to find more for future models if it turns up, but that makes sense.

↳Sheer El ShowkAug 10, 2022, 8:44 AM

sorry for the false hope …i should have read through the pilimi site a bit before jumping the gun on their metadata

↳nickAug 10, 2022, 8:45 AM

What's the updated token estimate / ETA for these? Like 70B english and maybe 50B other languages?

No worries, getting early estimates is super useful even if things turn out differently sometimes.

↳Sheer El ShowkAug 10, 2022, 8:46 AM

i'm doing some small tests and adding more formats right now. once the job finishes I will launch a large english job. might even launch en and non-en in parallel. note sure how long they take but I'm guessing done by tomorrow.

↳Sheer El ShowkAug 10, 2022, 8:47 AM

I am hopefully it will be more token than the above but its hard to say now. I can extrapolate again from doc count (assuming uniformity). I'll get to you with that in a sec.

↳Sheer El ShowkAug 10, 2022, 9:14 AM

ignore file formats (since we seem to support the most prevalent ones) we have ~700k en books and ~1.3m non-en books. comparing to @ben's ligben stats it seems we have 50% as much english but perhaps the same amount of non-en:

[Row(trim(Language)='English', count=1537983),
Row(trim(Language)='Russian', count=906758),
Row(trim(Language)='German', count=155041),
Row(trim(Language)='Spanish', count=64666),
Row(trim(Language)='French', count=39244),
Row(trim(Language)='Italian', count=37322),
Row(trim(Language)='Ukrainian', count=36302),
REDACTED
↳nickAug 10, 2022, 9:19 AM

Sorry I'm having a bit of trouble tracing through what the 50% is relative to since there are a lot of numbers in that thread. I think we have 200B tokens of english libgen and 100B tokens of non-en (is that correct?), so you're saying this is maybe 100B tokens each of english and non-en?

↳Sheer El ShowkAug 10, 2022, 9:21 AM

sorry let me clarify. from my count we have ~700k english books in pilimi. this is ~50% of the number in libgen (1.5m from ben's doc above). so all else being equal we should expect 50% as many english tokens from pilimi.

↳Sheer El ShowkAug 10, 2022, 9:22 AM

but looking at non-english stuff we have 1.3m non-english books in pilimi which looks roughly comparable to the amount of non-en stuff in libgen so we should expect roughly the same number of non-english tokens.

nickAug 10, 2022, 10:20 AM

Does anyone have bandwidth to download arxiv LaTeX and run minerva-style filtering? Slack thread here, but I think it will be quite helpful for math and I'd expect relatively little work. (filtering seems straightforward and arxiv has all the latex available)

↳nickAug 10, 2022, 11:24 AM

aws s3 ls --request-payer requester s3://arxiv/src/ worked for me, I don't think s5cmd has that option

↳benAug 10, 2022, 11:25 AM

2742316622777 bytes total -> 2.5T

lots of that is probably images

> s5cmd version
v2.0.0-35bb2fa
↳nickAug 10, 2022, 11:59 AM

Sheer is going to take this on. Just to clarify the plan here:

  1. Download all the LaTeX source files
  2. Run Minerva preprocessing
    1. Concatenate multiple files
    2. remove anything before first section header or after appendix/bibliography header
    3. Add title and abstract from the ArXiV metadata
  3. Run Minerva filtering on them, removing
    1. Longer than 75k tokens
    2. More than 0.6 tokens per character on average (I'm a bit confused what this means, isn't 1 token per char the min?)
    3. docs with no \section headers
    4. empty after preprocessing

Then we will just include 1 or 2 epochs of this in addition to 1 epoch of our current arxiv data.

↳Sheer El ShowkAug 10, 2022, 12:06 PM

@nick are we good using "words" as a proxy for tokens above? when we filter in dataset creation we don't normally tokenize (though I guess we can).

↳Sheer El ShowkAug 10, 2022, 1:31 PM

@ben OK with me upgrading s5cmd directly from github on a dev/sparkbox? I tried using an ephemeral box but it got some permissions error (i suspect it's IAM role won't let it do request-payer or something like that). I can't do it locally since I don't have great bandwidth now.

sheer-notebook

Oct. 2, 2022 · ECF 560-32 (PDF) · also filed as ECF 554-19 · 3 messages

Dropping libgen and pilimi.

↳Sheer El ShowkOct 2, 2022, 12:34 PM

I'd guess we're not so gung ho about pilimi style stuff anymore since we're dropping libgen and pilimi from the next dataset (for legal reasons).

#tokens-org-updates

Nov. 15–17, 2022 · ECF 554-20 (PDF) · 70 messages

Data left out over copyright; open S3 buckets and Google Docs.

nova (not technically a bot)Nov 16, 2022, 9:37 AMedited Nov 16, 2022, 9:42 AM

I brought this up several months ago, but how do we feel about scraping open S3 buckets (0.5M buckets)/open google docs (8B indexed)? They are likely very underrepresented in Common Crawl.

↳nickNov 16, 2022, 10:00 AM

Definitely interested - where would we get 8b google docs from? I'd run an estimate a while ago and only found a couple hundred million.

↳kipplyNov 16, 2022, 10:48 AM

yeah a bunch of stuff is underrepresented in commoncrawl for some reason so this is definitely not in there

↳kipplyNov 16, 2022, 10:49 AM

this does seem like one of the higher priority data sources after books+papers! (basically this and extracting more/better out of commoncrawl)

↳nickNov 16, 2022, 11:10 AM

I think its really high priority to figure out how big some of this stuff is and what fraction of it we can actually get. E.g. a rough estimate of 8B docs and 250 toks/doc is 2T tokens?! He also claism 180M files from public s3 buckets, which is also pretty huge

↳kipplyNov 16, 2022, 11:13 AMedited Nov 16, 2022, 11:13 AM

I agree, which is also why it's really high priority to spike out how many extra tokens better CC filtering could be (esp in multiling), which could also be in the one or two trillion range

👍1
↳kipplyNov 16, 2022, 11:14 AM

using the random button it seems like the vast majority of this is imagine though!

↳nova (not technically a bot)Nov 16, 2022, 11:26 AM

Hmm they no longer provide that by default 😔 Let me see if I can get the list elsewhere

↳kipplyNov 16, 2022, 11:28 AM

i've manually looked at maybe 50 text files on buckets now and none of them seem to have usable data, the google docs look really promising though :blobaww: i'm not bothering looking at spreadsheets, 1/3 of them access block me, maybe like 1 in 20 have good data! some examples [x] [x] [x]

↳kipplyNov 16, 2022, 11:31 AM

yeah of links here with docs.google.com/document , i'd say 1/5 have data but i don't knwo how many such links there are

wdym nova?

↳kipplyNov 16, 2022, 11:33 AM

of 700M p5 commoncrawl documents, about 223_013 were gdocs

where p5 is pretty low english filtering but a lot of the docs here seem like high quality multiling

↳nova (not technically a bot)Nov 16, 2022, 11:34 AM

Right, but in the contents of those pages are there any additional gdocs? And I'd guess naively that commoncrawl does a bad job downloading gdocs

↳nickNov 16, 2022, 11:36 AM

Kipply, have you looked at .doc , .docx and .pdf files in greyhatwarfare ? I remember when I was looking into this before (using google search) there were lots of those file types and .doc / .docx were almost always high quality

↳kipplyNov 16, 2022, 11:39 AM

i think we should ask for premium so we can find out how many docs links and how many pdfs and get a good baseline for how many pdfs/doclinks are good. It's hard to estimate otherwise

↳kipplyNov 16, 2022, 11:40 AMedited Nov 16, 2022, 11:40 AM

this seems easier to spike than commoncrawl and putting it at higher priority just for that

↳kipplyNov 16, 2022, 1:44 PMedited Nov 16, 2022, 1:46 PM

ok i'm signing up for the PREMIUM stuff (is only 25 euros)

↳nova (not technically a bot)Dec 8, 2022, 2:18 AM

for Google docs, can we get sure to scrape via something like docx which preserves the comments? seems like great data for a commenting model

also, did we special case box.com, Dropbox and others?

eliNov 16, 2022, 9:44 AM

https://anthropic.slack.com/archiveREDACTED
hopefully this isn't an obnoxious question but the amount of data we're leaving on the table because of copyright just makes my bones hurt

x-ray3
nickNov 16, 2022, 11:41 AM

Do we have up to date token estimates (or book counts) from all the internet archive subsets? My understanding is this is:

  • American Libraries (we need to re-download without english filter)
  • Public Domain books (we have 600k, but there are ~850k if we remove the filter)
  • Canadian Libraries
  • Universal Libraries

cc @kipply

↳nickNov 16, 2022, 11:42 AM

Hm, do we think there are lots of "reasonably good" tokens thereREDACTED

I guess lots of bad OCR?

↳kipplyNov 16, 2022, 11:44 AM

hmmm that's a godo point

*good point

let me run the filter on books (trying to get data pipeline to play nice) and i'll push some samples

👍1
↳nickNov 16, 2022, 11:44 AMedited Nov 16, 2022, 11:45 AM

There is a separate question of "is it good enough that we think we can recover the finch->lark performance hit?". We can likely answer that with evals like the ones Jennifer is running though

↳kipplyNov 16, 2022, 11:45 AMedited Nov 16, 2022, 11:45 AM

yeah it definitely doesn't feel like old-books quality data 😕

👍1
↳kipplyNov 16, 2022, 11:46 AM

i'm going to put up the samples with my current ocr-garbage removal + token density based filtering and leave it for now. Maybe @jennifer can come up with some better filtering ideas but I think I should move on to papers after this

👍1
↳nickNov 16, 2022, 11:47 AM

Sounds good - just to get back to the original question do we ahve token estimates for all of it though?

↳kipplyNov 16, 2022, 11:52 AM

ooh right sorREDACTEDof books REDACTEDicana and universal are not done yet, but i think americana will be likeREDACTEDand my current filtering is false positivey and few false negative)that would bREDACTEDminus dedupe and plus universal. But books tends to get filtered awaREDACTEDronto but I haven't run a proper analysis there yet

↳kipplyNov 16, 2022, 11:53 AMedited Nov 16, 2022, 11:54 AM

i'd be 80% confident that it's 80-200B tokens excluding universal given like up to 20% dedupe rate

nova (not technically a bot)Nov 16, 2022, 9:58 PM

is anyone interested in reaching out to ANSI to buy access to all their standards PDFs? they have 200,000 listed for individual sale in their webstore, and they're often hundreds or thousands of pages long

👍1
nova (not technically a bot)Nov 16, 2022, 10:08 PM

the NYPL's Digital Collections have a public domain filter - 317,801 items, though many are small

📚1
↳nickNov 16, 2022, 11:17 PM

Yeah, looks pretty small, and most of them are old handwritten things that we'd need to OCR ourselves and I think it would be hard.

image screenshot attachment; preview not rendered in the export (blank placeholder)
Screen Shot 2022-11-16 at2 MB

nova (not technically a bot)Nov 16, 2022, 10:46 PMedited Nov 16, 2022, 11:19 PM

3 million free books indexed on The Online Books Page, not sure if it's worth scraping since that seems hard
19.9M unlimited reuse items indexed at the Digital Public Library of America, many are images with captions but 16M are text, not sure how easy it is to scrape but I bet that they'd be somewhat cooperative with us - they're an Ex Libris project who we should reach out to anyway for copyright reasons.

😮1
↳nickNov 16, 2022, 11:20 PM

I'm a bit confused by The Online Books Page - most of their links seem to send me to Hathi Trust, but not obvious way to download

↳nickNov 16, 2022, 11:23 PM

Similarly confused by DPLA - wasn't obvious to me how to actually download anything from them. If you have a contact there, would be great to intro Tim

↳nova (not technically a bot)Nov 16, 2022, 11:27 PM

For TOBP, it's pretty easy to scrape metadata through the Open Archives Initiative Protocol for Metadata Harvesting, but idk how easy it is to get the non-HathiTrust (extended shelves) items
For DPLA, most items have a URL that goes to a standard ex libris page for download. I don't have a specific contact at ex libris, I assume their sales would be supportive or info@dp.la gets you the DPLA specifically.

nova (not technically a bot)Nov 16, 2022, 10:51 PMedited Nov 16, 2022, 11:27 PM

Also Gyula Lakotos out of Hungary, who runs the Bottomless Archive Project/Library of Alexandria (33+TB, 30M documents), is out of work on Dec 17th. If we're interested in hiring someone for scraping stuff, he seems like a good choice (I can reach out if we want him).

🙏4
↳nickNov 16, 2022, 11:24 PM

Awesome! I'm getting 404 errors on both of those links (probably don't have permission). Can you get a resume and add to Lever? Definitely interested in hiring someone to scrape things, lots of things to scrape 🙂

nickNov 16, 2022, 11:25 PM

Made a spreadsheet here to start organizing some options for data and recording token and quality estimates

↳nova (not technically a bot)Nov 16, 2022, 11:44 PM

My guess is that ANSI and other standards are comparable quality to scientific articles

nickNov 16, 2022, 11:33 PM

Interesting blog post from the creator of pilimi on the total number of books in existence - seems like the current estimate is ~100M

👍1

Tokens team “add-high-quality-data”

May 15–26, 2024 · ECF 563-6 (PDF) · 402 messages

First scanned books, OCR, dedup, datamix updates.

Send a scheduled messageMay 15, 2024, 9:00 AM

🌞 Time for stand-up! Please post what you got done yesterday, plan to get done today, and any blockers. cc @brendan @ed @pj @yudong @zee

yudongMay 15, 2024, 11:23 AM

CORE data need more dedup. Re-runing the dedup with more paper data.

  • Dask version: after some tweaks, got the multiline version finish in ~1h. Re-running the eng version
  • Tried Ray version: does not support the avro format
  • Looking at Spark version: seems has some requirement on the existence of "rehash" column; will pair with Dickson later today.

I will let the Dask version run while poking Spark; let's see which version finish first. One dedup is done, Encode/Chopping will be straightforward

🙌1
lizMay 15, 2024, 11:32 AM

you could always have a very simple ray load/save job to convert to parquet

amaze1
yudongMay 15, 2024, 11:46 AM

I should probably have done it earlier and I can re-partition as the same time. I will let the current Dask run (just finish one version, the other one looks promising for far) and do the covert if I cannot get it to finish

deviMay 15, 2024, 11:48 AM

seems has some requirement on the existence of "rehash" columnthis is the hash of the minhash that we use for dedup. Believe there was a code-path/option to automatically add it if it was missing, but not sure how it's working right now

lizMay 15, 2024, 12:19 PMedited May 15, 2024, 12:19 PM

updated go/tokens mix (didn't set the weights or anything just got new data in there. rn core data is wrong bc not deduped properly yet)
https://docs.google.com/REDACTED

🙌1
↳pjMay 16, 2024, 9:34 AMedited May 16, 2024, 9:40 AM

Nice! Is this sheet updated with the new number of tokens now?

We should figure out weights asap and get sign off from Pranay and Nick if we're planning on doing the update this morning

↳pjMay 16, 2024, 9:42 AMedited May 16, 2024, 9:42 AM

@yudong can you please check the number of tokens too?

↳pjMay 16, 2024, 10:25 AMedited May 16, 2024, 10:26 AM

It says (TOKENS NUMBER IS OLD) though. Can we delete that?

↳lizMay 16, 2024, 10:26 AM

i put that bc i put the ones before the most recent dedup

i think

unsure if someone changed it

↳pjMay 16, 2024, 10:27 AMedited May 16, 2024, 10:28 AM

I think the explore pages aren't updated. @yudong can we regenerate the explore pages?

CORE English Explore

REDACTED

CORE Multilang Explore

REDACTED

↳yudongMay 16, 2024, 10:28 AM

We have the new explore pages: REDACTED

👍1

(I created some new datasets)

↳lizMay 16, 2024, 10:28 AM

you can also get numbers by going data shell -n {regex search of node name} and then selecting which one you want and it will print out the data node in full including n_tokens and n_epoch info

↳lizMay 16, 2024, 10:29 AM

you should be able to open files with this too but i think thats broken for ones with train/test splits

↳pjMay 16, 2024, 10:29 AM

I'm deleting (TOKENS NUMBER IS OLD) because it matches the explore page

Cool I didn't know you could run data shell!

↳lizMay 16, 2024, 10:30 AM

yeah it also lets you run get_node() after opening it to get new ones as it eventually just pops you into interactive ipython shell

↳pjMay 16, 2024, 10:31 AMedited May 16, 2024, 10:31 AM

What do we mean do we have a final mix we are using for this? Do you mean make a new mix in the code or finalize the mix and weights in the spreadsheet?

↳lizMay 16, 2024, 10:31 AM

i updated the mix in some sense but like have we decided if what on the sheet is final

↳yudongMay 16, 2024, 10:31 AM

data shell is cool, thanks, Liz, just to double check, I am using the encoded version of the dataset (instead of the chopped one), is it correct?

↳lizMay 16, 2024, 10:32 AM

no
well
it should be roughly the same
but more accurate would be to grab the token count for chopped and divide by n_epochs

should be about the same though doubt it matters

whats the name of the new chopped nodes

↳pjMay 16, 2024, 10:33 AM

We don't know if it's final yet. I was about to post and get sign off from pranay devi nick, and I wanted to confirm the numbers first

↳pjMay 16, 2024, 10:40 AMedited May 16, 2024, 10:41 AM

I'm glad we're figuring this out now, but would anyone be opposed to moving the update meeting to the afternoon so we have time to get sign off

👍1
↳lizMay 16, 2024, 10:41 AM

realizing less of this is done compared to what I thought:
what we need:

  1. make sure we have PRs / all the nodes we need are in the REDACTED branch
  2. run 4l test model on new datamix ( i can do this pretty easily)
  3. final numbers
↳yudongMay 16, 2024, 10:45 AM

Liz, can we pair on this? I only have a rough idea about the steps from this doc @devi sent me:
https://docs.google.comREDACTED

↳yudongMay 16, 2024, 10:47 AM

Let's figure out the time for the meeting first, the original schedule is in 11am

↳pjMay 16, 2024, 10:48 AM

I'd also be down to pair w/ you two to learn but I'm enroute to the office. Will be there in ~10. Ff to start w/o me too

👍1
↳lizMay 16, 2024, 10:49 AM

whats the plan for REDACTED running out tomorrow? cc @devi @Dickson
dove data runs out in two days. ill be OOO tomorrow but should have all my stuff chopped up by then for new code data without the PRs
(endless exactdedup issues but inshallah it shall work this time)

are you in office yudong

↳DicksonMay 16, 2024, 10:58 AM

whats the plan for REDACTED running out tomorrow?
PR https://github.com/anthropics/REDACTED Both datasets are committed.

↳deviMay 16, 2024, 11:42 AM

Merged PR for cc_p8, @Dickson have you transferred the data to gcs and tried loading it in a scan on the REDACTED branch?

↳lizMay 16, 2024, 11:47 AM

and was going to scan on REDACTED branch once we get all the new data we want over together. was thinking core + diffs + this at once

meow_heart1
↳deviMay 16, 2024, 11:49 AM

Let me fix the type error.doesn't matter, it works on master and I already merged this branch

👍1
↳lizMay 16, 2024, 11:53 AM

@Dickson check the directory for REDACTED. doesn't look like it has more than REDACTED

↳deviMay 16, 2024, 12:00 PM

I think it should definitely work for loading data, it might break the tokenslive epoch counting?

↳deviMay 16, 2024, 12:01 PM

data loading is basically based on the metadata.json which is in the root folder and points to all the files with info about how many sequences they have

this has the same structure as the multiple epochs in separate directories we've gotten to work previously, since the model doesn't really track anything about epochs

↳DicksonMay 16, 2024, 12:02 PM

I believe REDACTED was intended? Original request: https://anthropic.slack.comREDACTED

@Dickson could you take a look at chopping REDACTED

↳deviMay 16, 2024, 12:02 PM

there is no root metadata json but there is for train/that's always the case, we split the metadata per train and test split

↳lizMay 16, 2024, 12:15 PM

does any other cluster have access to REDACTED or should i just 2pc and run it in oxygen

↳deviMay 16, 2024, 4:03 PM

this should be resolved now, but ftr don't believe we should need 2pc for training on oxygen or reading from that bucket outside of the teal namespace/security class

yudongMay 15, 2024, 12:27 PM

Got it, thanks! I just had a sync with @Dickson and he pointed out I need REDACTED (thanks for the call again @Dickson)

yudongMay 15, 2024, 12:28 PM

I am able to finish the dedup with Dask for both eng and multiling at this point. So I will try the spark version separately as an experiment. I am running encode/chopping right now. Will start the Scan this afternoon after the chopping is done. Should be able to get some updated result later today

🙌2
rhMay 15, 2024, 1:47 PMdeleted May 15, 2024, 1:47 PM

summary of tuple with liz

I had a slight difference in my test code vs dask/ray dedup, I've fixed that
I have 3 tests:

  • removing any 1 word from a document
  • subsampling n%
  • comparing 5 documents between redpajama and nougat extraction
pjMay 15, 2024, 2:01 PMedited May 15, 2024, 2:04 PM

Datamix update pushed from today to tomorrow assuming the new CORE scan results by @yudong look just as good or better. This is b/c we saw signs of potential duplication of CORE and Mathpix data cc @pranay @nick

🙌3
↳yudongMay 15, 2024, 2:04 PM

Thanks PJ. The more comprehensive deduped is done. Running another scan now 🤞

🙌1🤞1
↳pjMay 15, 2024, 5:35 PMedited May 15, 2024, 5:36 PM

Excited to see the results whenever they're done!

I'm curious if our PDF dedupe will be good enough to improve the eval results after the last thread

If the the results are the same, I think we can plan to still add it to the mix and improve dedupe in parallel

↳yudongMay 15, 2024, 5:55 PMedited May 15, 2024, 5:55 PM

I am waiting for the larger run to finish (later tonight), for the REDACTED There are still REDACTED (adding @devi as well)

attachment Screenshot 2024-05-15 (280 KB)

thinking_face1
↳yudongMay 16, 2024, 9:41 AM

Results of the larger scans are in, they follow the same trend as the previous run. With all the recent discussion, this is now expected. just providing the update to be complete

attachment Screenshot 2024-05-16 (100 KB)

🙌1
↳yudongMay 16, 2024, 10:15 AM

That's the current theory, even if we deduped against the mathpix dataset, the current dedup may not be effective enough to filter out the docs in the eval dataset. I am trying to find some direct evidence as well, e.g., by checking whether some papers in the eval set exist in the new CORE dataset

👍1
↳yudongMay 16, 2024, 3:51 PM

I was checking the eval data, most of the entries have "title", so I just join it with the new CORE data's titles (both to lower-case, no extra processing). Surprisingly there is no overlap on the title between these two sets at all (thanks @rh for calling out the dataset name in the graph, I did not realize it is just yet another dataset 😅 [?]). So maybe the overlap happens in some texts directly? 😕 [?]

↳yudongMay 16, 2024, 6:58 PM

By doing a more relaxed matching (check whether the first 50 char of the eval doc title exist in CORE dataset's title), we found one paper "The young massive SMC cluster NGC 330 seen by MUSE" in both mathpix eval and the new CORE data; it is 1 out of 311 entries in the eval set
not sure whether it is significant enough to explain the 2x CM gain though

pjMay 15, 2024, 2:13 PM

last:

  • Prepared for Teal datamix update
  • Looked at CORE scan results and CORE dedup and decided as a group to update tomorrow
  • Paired w/ @jennifer (ty!) on NDS ray encode and chopped
  • Checked in on Panama and Samba

next:

  • Check NDS dedupe and rerun if needed
  • Meet w/ Ed on Multilang PDF scans
  • Look at new CORE scan results and decide if we can update datamix tomorrow
rhMay 15, 2024, 2:39 PMdeleted May 15, 2024, 2:50 PM

oh sorry i didn't simplify the minhash set, one sec

yudongMay 15, 2024, 3:47 PM

This is my current PR for adding more dedup; scan is still going, REDACTED

The two new explore pages for the encoded data:

  • REDACTED
👀1
pranayMay 15, 2024, 4:22 PM

📚 we received the initial books that are now ready to use! cc: @pj :blobexcited:

🙌8👀2
↳pjMay 15, 2024, 5:35 PMedited May 15, 2024, 5:38 PM

Looks like we received REDACTED scanned books! Started a new thread for processing it. We'll add them to Dove after they're processed

↳jaredMay 15, 2024, 5:52 PM

Cool! I think REDACTED books is a small enough sample that it doesn't matter much (maybe REDACTED tokens), though having a simple pipeline for it seems good.

➕1

But seems REDACTED

👍1➕1
pjMay 15, 2024, 4:43 PMedited May 15, 2024, 5:00 PM

🧵 Panama cc @kefan who is owning this w/ @jennifer's help since he just joined

blobexcited1
↳pjMay 15, 2024, 4:44 PMedited May 15, 2024, 4:51 PM

According to email, data is stored in REDACTED I don't have access to the data, so we'll need to make a security ticket for this

↳kefanMay 15, 2024, 4:51 PM

just tried to ls, yeah, don't have access. which channel should I fire the ticket to?

↳pjMay 15, 2024, 4:51 PMedited May 15, 2024, 5:37 PM

#it-tickets . Please request access for @ed @brendan @pj @yudong @jennifer too

↳jenniferMay 15, 2024, 4:54 PM

please ask for access from li_eph and from fluorine, not from particular people

➕1
↳kefanMay 16, 2024, 9:38 AM

the ticket of the it-security was not resolved over night, who should I ping to get it approved?

↳pjMay 16, 2024, 9:39 AM

cc @.security-oncall at the bottom of the ticket and explain that we're blocked

👍1
↳pjMay 16, 2024, 11:25 AM

Once you load the data in data pipeline, you should be able to generate an explore page with data explore NODE_NAME

↳kefanMay 16, 2024, 11:36 AMedited May 16, 2024, 11:58 AM

some quick updates:

  • still trying to get the data access, hope it can resolve very soon, ticket https://anthropic.slack.com/REDACTED
  • trying to get a PR to run through the general processing steps. Should be sending for some early feedback soonish.

Also some questions:

  • for the dedup, do we do both exactdedup and dedup(which I think is fuzzy dedupe?)
  • what are the general workflows to check some samples of the data? @jennifer showed me how to do it in ipython which I was asking if I can do it in colab. But wondering what is the workflow in general
↳pjMay 16, 2024, 11:53 AMedited May 16, 2024, 11:58 AM
  • I can't find the security ticket because it's not linked here, I saw it earlier. We want access from the li_eph and from fluorine clusters, not for specific people like @jennifer corrected me above
  • Let's add in dedupe later after we have the other steps of the pipeline working because it fails frequently. Let's make sure the remainder of the pipeline works first. It's a small amount of data, so I expect we can iterate on it quickly
  • Load up some data in an ipython notebook or collab, like you said. Our team usually uses ipython
↳brendanMay 16, 2024, 12:00 PM

they're both clusters; go/clusters is usually pretty up to date on describing our clusters

↳pjMay 16, 2024, 12:14 PMedited May 16, 2024, 12:14 PM

I know this is all new! To clarify the initial end goal:

  1. We want to look at samples since we've never looked at the data
  2. We want to run the data pipeline on the data, which has 3 core steps - load, encode, chop
  3. Generate an explore page for these
  4. We want to add in the dedupe step too
↳kefanMay 16, 2024, 1:13 PM

Thank for the clarification! have a quick PR here for the purpose of the end goal. https://github.comREDACTED still need the chop part but wanna to get some quick suggestions on the dedup part first.

↳pjMay 16, 2024, 1:23 PMedited May 16, 2024, 1:24 PM

I think it's easiest for you to delete the dedup step for now. We might have a new dedup soon

↳pjMay 16, 2024, 2:33 PMedited May 16, 2024, 2:33 PM

Example of explore page for a new sample of data: https://anthropic.slack.comREDACTED

Maybe ask @Arian if you can reuse the code for Panama too?

↳ArianMay 16, 2024, 2:37 PM

when you say reuse the code, do you mean the processing to get the raw data node to generate a sample? I'm not sure how reusable it'll be since I assume the papers are a different format

↳ArianMay 16, 2024, 2:39 PM

i think if i were doing this, the first step would be to run the panama data through a processing pipeline to spit out a parquet file(s): {book_title, text, author, published}

Whats the size of the data? If its very large then you'll need to use dask/ray/spark otherwise just a simple script will do

once we have that we can generate the explore page

↳pjMay 16, 2024, 2:40 PM

It's small - only REDACTED books. We basically want a way to look at the data since we've never looked at it before. I think running the panama data through a data pipeline to get the explore page works. @Arian your explore page looks like it has a few additional thoughts that I thought were interesting if we can get those too. If it's not re-usable, we should just do a new data pipeline

↳ArianMay 16, 2024, 2:42 PM

yea fair, if its only REDACTED books then literally REDACTED @kefan once you have that hit me up and i'll help you make an explore page like i did

↳ArianMay 16, 2024, 2:43 PM

the fields i said were first thought btw, should preserve any other potentially interesting metadata

↳kefanMay 16, 2024, 4:24 PM

I'm seeing this error
REDACTED is it against the policy that I can copy the data into REDACTED where I feel it might make things easier?

↳jenniferMay 16, 2024, 4:26 PMedited May 16, 2024, 4:26 PM

where are you seeing this? also prefer REDACTED over REDACTED

👍1
↳kefanMay 16, 2024, 4:26 PM

I'm trying a pipeline of the books I did that reading books data from REDACTED

↳kefanMay 16, 2024, 4:27 PM

the first step seems marking some _SUCCESS into the directory, which might be the cause of the error

↳ArianMay 16, 2024, 4:28 PM

you shouldn't be saving to that bucket anyways right? copy it over into one of our buckets

^ what jennifer said lol

↳jenniferMay 16, 2024, 4:29 PM

in order to do this, don't set custom_path= and then inside the body just directly copy from REDACTED to REDACTED

↳pjMay 16, 2024, 4:32 PMedited May 16, 2024, 4:33 PM

I think it's annoying to copy data that we're going to be getting new dumps from every week. What if we just got write perms?

↳pjMay 16, 2024, 4:33 PM

Yeah I guess it's data that we're buying and we don't want to accidentally over write

↳ArianMay 16, 2024, 4:33 PM

PJ whats annoying about it? We could just have a simple cron that s5cmds everything over

↳pjMay 16, 2024, 4:35 PMedited May 16, 2024, 4:35 PM

Yeah, if we have copy job that can copy everything over, let's re-use it. It's not that annoying for me, I'm just trying to reduce overhead for someone that's new and just trying to get the first step of the data pipeline working

↳pjMay 16, 2024, 4:37 PM

I just looked at the data is saved as PDFS so data pipeline can't ingest it anyways. We'll copy it

↳jenniferMay 16, 2024, 4:37 PM

im not sure what you mean by that, we have various data pipeline steps that do pdf extraction

↳pjMay 16, 2024, 4:43 PM

These PDFs are image scans as opposed to having text in the PDF. Do we do OCR as a part of the data pipeline already?

↳jenniferMay 16, 2024, 4:44 PMedited May 16, 2024, 4:44 PM

ah we don'tmay or may not; how are we planning on doing the OCR, ship to mathpix or run a thing?

↳deviMay 16, 2024, 4:44 PM

So it seems like we have some pdf extraction code in data_pipeline

REDACTED has the raw dataset pdfdrivesample and we should be able to do something similar here

↳deviMay 16, 2024, 4:45 PM

tbc, this is very much a first pass and we can extract a lot more value from the books by doing something more sophisticated than just pdftotext

↳kefanMay 16, 2024, 4:50 PMedited May 16, 2024, 4:50 PM

ok, maybe the way to go is to

  • just overwrite the path to save the data to our bucket,
  • run the pdftotext,
  • then check the output.
↳jenniferMay 16, 2024, 4:52 PM

oh you probably need to tell fishpath what region datamation-scans is, hold on, I'll send you a diff for that

↳jenniferMay 16, 2024, 5:02 PM

oh @kefan you can post sharable samples of stuff by copying it to REDACTED tho data clusters only have write access to prefix REDACTED

↳pjMay 20, 2024, 11:20 AM

Do we have explore pages for Panama yet? I'd like to confirm that the samples look good and that we're able to extract the data since they're continuing to collect data for us this week

↳pjMay 20, 2024, 12:00 PMedited May 20, 2024, 12:03 PM

Just synced w/ @kefan. Here's w

Luckily the sample is small and the data pipeline runs fast and works (cc @pranay who asked for a status update on panama)

These are the next steps we discussed so we can finish this up today:
REDACTED

↳pjMay 20, 2024, 6:05 PMedited May 20, 2024, 6:05 PM

Do you think you can figure out a way to convert PDF to image for this case?

I think it should be one-line with the correct library (see pdf2image, PyPDF2), although you will need to figure out how to install it. We used to be able to install whatever we want, but now it might need to be approved

We're going to working on testing and improving PDF extraction next and we all will want be able to view the PDF as an image for pdf-extraction evals

🙌1
↳pjMay 20, 2024, 6:14 PM

I know you've been working with a copy of the original dataset. Have we checked if the original data path recently for any updates or new data that may have come in? I'm curious if we have new data that we can run the pipeline on

↳kefanMay 20, 2024, 6:15 PM

yeah, there are new datasets coming over the weekend as I mentioned. Also added a figure to track the progress.

🙌2blobexcited1
↳pjMay 20, 2024, 6:24 PMedited May 20, 2024, 6:24 PM

Thanks I didn't see where ever you mentioned that. Feel free to post them here and in your doc. I checked go/data and I only see it for REDACTED Usually we create separate explore pages for chopped and encoded to check if the data looks good, but it's not a blocker since we aren't using this data in prod yet

↳kefanMay 20, 2024, 11:58 PM

@pj good idea on converting them into images. Having a colab working pretty nicely to show side by side of one of samples. Also added a figure for daily data trend. With more and more data being processed, we should see the lines being updated. REDACTED

👀1
↳pjMay 21, 2024, 11:41 PMedited May 21, 2024, 11:42 PM

Nice! A few quick thoughts:

  • It's nice to have stats! We usually communicate data stats in terms of tokens, so it'd be great if we can update to that metric - tokens received from panama per dump, histogram of tokens per book
  • Is number of lines histogram number of lines per book? It's not obvious to me what the first two charts are communicating differently from a skim It'd be excellent if we can add descriptive titles so people can quickly understand the plot before going back to their busy days
  • I think it takes a few seconds for the text to show up side by side with the pdf, so I'd add a comment explaining that too
  • I think you were running this on a second dump too, so we should rerun data-pipeline and update the numbers in this notebook before wrapping this up. I think you were already working on this
blobheart1
↳kefanMay 22, 2024, 10:10 AM
  • For the tokens, can you point me to the tokenizer we are using and is it possible for me to use it in notebook? Bytes is normally a good metric but agree we should make it more accurate.
  • good suggestions, will update that.
  • and yes, running DP on new data dumps.
↳pjMay 22, 2024, 1:48 PM

Yeah, we have the old explore page, but we should update the explore page after we process the new data dumps too. It'll update the number of tokens and the samples shown

↳pjMay 22, 2024, 10:38 PM

Data partnerships said REDACTED and was curious about the status of our data processing. Do we have results from the newer dump of data yet?

↳kefanMay 22, 2024, 11:12 PM

REDACTED please check this for the daily generation

👀1

there are some data pipeline issue, mostly I can't get the ray cluster to connect to workers etc

↳kefanMay 22, 2024, 11:13 PM

Data partnerships said REDACTED and was curious about the status of our data processing. Do we have results from the newer dump of data yet?would it be possible for me to be in the data partner channel or something? wanna to get to know more of the context.

↳kefanMay 22, 2024, 11:17 PMedited May 22, 2024, 11:24 PM

we have a bit over REDACTED books now, or a bit over REDACTED tokens,

some requests to get things going:

  • can you share some dedup code pointer for me to get it going? My plan is to dedup it, REDACTED and run a scan to check if we can have a win on this data
  • what is the timeline and process (like 1.xx CM can prove that this is worthy to be added, the trend etc), point of contact, if we want to add it to Teal or Dove?
  • when you say REDACTED what is the specific arrangement are we talking about it here, some stats such as expected daily books, metadata of the books (still don't have it), total number we expected, etc, would be appreciated.
  • and do we have an internal scheduler that I can config a daily run for the processing and data-pipeline?
↳pjMay 23, 2024, 1:37 AM
  • Daily generation stats look good. I'm sure it's on your list to swap number of chars/lines to tokens from yesterday
  • If you're having trouble with Ray or anything else, feel free to post in #tokens-onboarding-03-19-devhelp ( @jennifer is the ray superstar)

@pranay

  • do you want to rename the channel and remove the date? I think it'd be helpful for tokens new joiners next week too

  • go/panama has details about panama and you can ask @pranay about anything else

  • Dedupe is still in flux. You can pair w/ @yijie or @brendan to run the new version that's in a branch. This dataset should work REDACTED This shouldn't be a blocker to running the pipeline e2e first because we should know how many tokens we have pre-dedupe anyways

  • Timeline depends on the number of tokens, which we will get when you update the explore page and stats page with the newest dump. I'd expect on the order of REDACTED as that's our REDACTED

  • REDACTED We'll be receiving new data REDACTED and we should rerun the pipeline with whatever new data we have REDACTED See go/panama

  • No, we don't have one. @brendan was handy and hacked something together for crabby

↳kefanMay 23, 2024, 1:46 PM

Hi @pj @jennifer @devi can you please take a look at this pr REDACTED? it has ran successfully e2e

👀1
↳kefanMay 23, 2024, 1:57 PM

ah the branch has been a while and hard to rebase, recreate a new one

blobty1
↳kefanMay 23, 2024, 5:17 PM

can I have some feedback on the PR? @jennifer @pj @devi

✅1

and write down some thoughts on the next steps REDACTED feedbacks are welcomed

👀1
↳kefanMay 23, 2024, 8:39 PM

thank you both! I'm lacking some of the context of some of the comments. Can you please take another look? thanks!

✅1
↳kefanMay 24, 2024, 5:44 PM

The OCR from Haiku is so good! Launching an inference, will have a more detailed estimation of the run time on OCR later. cc: @pranay @pj @lzl @tom who might be interested.

Also the scan of a 4x epochs current books data (REDACTED tokens per epoch) just finished. How can I get the downstream evals?

🙌2
↳kefanMay 26, 2024, 3:11 PM

have loss evals run yet?yes, the loss evals ran with names REDACTED. wondering if we have a colab to plot the CM on different evals.

the amount of data is REDACTED or I should REDACTED

↳kipplyMay 26, 2024, 3:23 PM

all our notebooks are shared in /mnt/notebooks, if you look in REDACTED then there's an example notebook!

👍1

we should build a thing that just auto notebooks + generates plots for you though c:

↳kefanMay 26, 2024, 3:38 PM

Appreciate it! will get some analysis based on that. Yeah, if we have colab already, seems like a glue job🤣 [?]

pjMay 15, 2024, 5:03 PMedited May 15, 2024, 5:59 PM

🧵 MM Synthetic Charts Thread 2 + Jaxotron Data Scan [ prev thread] cc @lzl who is owning this

It looks like we're currently REDACTED

✅1
↳pjMay 15, 2024, 5:23 PMedited May 15, 2024, 5:34 PM

@pranay @devi this is the first non-text dataset task, so lmk if there's any other text datasets. ( @lzl REDACTED)

The current text datasets are already owned and in progress: REDACTED

👍1
↳lzlMay 15, 2024, 5:29 PM

If there's a text dataset or other higher priority things I'm happy to take on that instead

↳pjMay 15, 2024, 5:53 PMedited May 15, 2024, 5:58 PM

Ok! I think this is a good place to start at least for now as I don't think it should take more than a day. I'm happy to pair too. @mitchell has run the most jaxotron scans, so he might have additional notes on the below

Here's a PR with an example scan. The code is simple.

One - You'll want to update the mix to something like this:
REDACTED

Two - update the mixname here.
REDACTED

Three - Run a command like this:
REDACTED

Four - REDACTED

🙌1
↳lzlMay 15, 2024, 5:59 PM

Thanks @pj for the detailed instructions! I'll schedule a pair with @mitchell.

↳pjMay 15, 2024, 6:01 PMedited May 15, 2024, 6:02 PM

Great, we can take a look and provide comments async if you create a PR beforehand too

↳pranayMay 16, 2024, 4:49 AM

go/deepcrawls has a ton of sources that we can triage and prio, as needed 😊

👍2
↳lzlMay 16, 2024, 8:23 AM

Hmm encountered a weird error: REDACTED when running on both local laptop env and on devbox. I ran this command: REDACTED. I believe I have the right python env py311 on laptop.

↳mitchellMay 16, 2024, 8:24 AM

Jaxotron runs on TPUs, and the error suggests you're not on a cluster with TPUs. Try use-sodium-beta.

↳lzlMay 16, 2024, 11:25 AM

Yep, I managed to get a dev box with 16x16 tpus. Running it now

Still running tho

↳lzlMay 16, 2024, 11:27 AM

Are you coo tailing the jobsHmm I don't really understand this.
Are the jobs stepping?Unfortunately, it has just failed...

↳mitchellMay 16, 2024, 11:28 AM

is it possible to follow the recommendations from the docs and not launch on devbox

↳lzlMay 16, 2024, 11:29 AM

I see. I think last time I tried to run it on my laptop it says not a TPU cluster

↳mitchellMay 16, 2024, 11:30 AM

you have to do use-sodium-beta first

that will tell your laptop to launch on the TPU cluster

↳lzlMay 16, 2024, 11:30 AM

Oh I see. I thought it's for launching the TPU devbox

Thank let me give it a try

↳lzlMay 16, 2024, 11:34 AM

I think this means it's working?

attachment image.png

Where can I monitor the jobs?

↳mitchellMay 16, 2024, 11:35 AM

from your mac you can run coo tail <job-name>

or use go/jaxodash and enter the job name

but you'll still have that data pipeline error

↳mitchellMay 16, 2024, 11:36 AM

that's not to do with jaxotron, it means that dataset is not there? did you transfer it from s3 to gcs?

↳pjMay 16, 2024, 11:51 AMedited May 16, 2024, 11:51 AM

I didn't know we had to move data, but I'm not surprised. I'm guessing we just use Google STS?

↳deviMay 16, 2024, 11:53 AM

I didn't know we had to move data, but I'm not surprised. I'm guessing we just use Google STS? (edited)yeah, there are some steps in this doc for new datasets for big models, feel free to skip non-applicable steps and substitute relevant bucket (the one used for csp_bucket_override)

↳pjMay 16, 2024, 11:54 AM

Right, okay. @lzl for your first scan just change csp_bucket_override. Once that's working, let's figure out the data

↳lzlMay 16, 2024, 11:55 AM

Got it. Just to double check this is the data we want to add the to the mixture right? REDACTED

↳lzlMay 16, 2024, 11:57 AM

I see. Should I also "define" the dataset in the codebase? Can't really find the implementation, and I think that's what the previous error message is saying

Also any pointers on where to update csp_bucket_override?

↳deviMay 16, 2024, 11:59 AM

not familiar with jaxotron, but it's generally set on the dataset configuration, not sure how this is handled with the inheritance structure and overrides

↳lzlMay 16, 2024, 12:03 PM

What's the way to translate the names like REDACTED in the samples html to the actual dataset definition in the codebase?

Aka how can I find out the actual name to put into DatasetMix

↳deviMay 16, 2024, 12:05 PM

REDACTED part means the dataset is defined in REDACTED and the REDACTED means that it's named this either explicitly with a name parameter, or implicitly by assigning a variable/function name to this, or both

the values like REDACTED are the keys in the DatasetMix

↳pjMay 16, 2024, 3:22 PMedited May 16, 2024, 3:30 PM

Running evals PR by @mitchell from slack which mentioned vqa_pt and chartqa_pt, those are what you want to run too

#eval-toolbox-users is another slack channel for help related to evals

Replace sandbox/sandbox/mitchell/snapshot_lists/eider_scan.txt with just your model name
REDACTED

↳lzlMay 17, 2024, 4:44 PM

Eval done: REDACTED is the baseline model that REDACTED (note that this run also doesn't have REDACTED dataset, so weighting might be different here), and REDACTED is the one with the dataset. Overall, REDACTED. Let me know if this makes sense, or I should have a proper baseline using the computer use dataset

attachment image.png

↳mitchellMay 17, 2024, 4:57 PM

can you send loss throughout training?

there should also be loss evals throughout training we can look at

↳mitchellMay 17, 2024, 4:58 PM

but actually idk how useful those will be if training was entirely done on the source

↳lzlMay 17, 2024, 6:20 PM

What's the reasonable range for those tasks? Not super familiar with these tasks

↳lzlMay 17, 2024, 6:27 PM

Hmm not sure how to share a specific plot from go/jaxodash? Is screenshot ok?

↳lzlMay 17, 2024, 6:30 PM

The uptime stats. The job under the question is REDACTED

attachment image.png

↳pjMay 19, 2024, 11:09 PMedited May 20, 2024, 12:53 AM

Here's an example of previous results. It looks like REDACTED I just saw your results in your notebook too. Maybe try running the evals starting w/ the REDACTED

↳lzlMay 20, 2024, 2:03 PM

Eval run comparing with and without synthetic charts on different model sizes. Generally it seems like REDACTED

attachment newplot.png

🙌1
↳pjMay 20, 2024, 4:19 PMedited May 20, 2024, 4:19 PM

@lzl can you please share your visualization links here too?

↳rhMay 20, 2024, 4:24 PM

linking jaxotron thread about passing a seed during temperature sampling:
REDACTED

↳pjMay 20, 2024, 5:48 PM

@rh @lzl and I paired and decided to table this here b/c there's more work for the evals and an mm person should probably own that cc @ed who might pick it up. @lzl you should plan to write this up and maybe move onto pdfs

↳pjMay 20, 2024, 5:49 PM

Yeah or I think writing down your results in a doc and letting multimodal people see and comment on it might be useful too

↳lzlMay 20, 2024, 5:49 PM

Sounds good. I'll do a doc which seems to be cleaner than copying everything over to another thread

👍1
↳pjMay 22, 2024, 10:35 PM

Considering this thread of work done for now although there are more threads to pull on in the future!

👍1
rhMay 15, 2024, 6:00 PMdeleted May 15, 2024, 6:00 PM

REDACTED with this, my current favorite:
REDACTED

pjMay 15, 2024, 6:16 PMedited May 15, 2024, 6:42 PM

🧵 The dedupe doesn't work for PDFs or multilang (it does for non-pdf). I think deduping correctly will be a CM for all our datasets, and we should fix it.

We're seeing this affect the CORE scan even after we added additional datastes to dedupe against, where we see a 2x CM on mathpix pdfs, (ty @yudong for rerunning) which shouldn't happen unless the data is duplicated or the test set is in the training mix.

Notes:

  1. We think we are deduping against the test set correctly
  2. We have numbers and plots that show PDF isn't working well now
  3. Other things being discussed by @brendan @dawn @liz @rh here

The options are:

  1. We update mix with code diffs tomorrow, and wait to update CORE.
    REDACTED

REDACTED

blobpain4raised_hands::skin-tone-21
↳jenniferMay 15, 2024, 6:20 PMedited May 15, 2024, 6:22 PM

How good of an understanding do we have as to REDACTED? Is it REDACTED

↳yudongMay 15, 2024, 6:29 PM

Thanks for starting the thread, PJ! I am also wondering, as @rh brought up, what is the testset (especially the mathpix test set) we are using? Is it all in unpaywall.mathpix_outputs_filtered_deduped?

dianneMay 15, 2024, 7:12 PM

I can't find the thread but here are REDACTED Which is REDACTED is new

Top languages we want for App localization:

  1. P0 - REDACTED
  2. P1 - REDACTED
↳pjMay 15, 2024, 7:14 PMedited May 15, 2024, 7:15 PM

Thread here. I think we have REDACTED cc @ed can we REDACTED

🙏1
pjMay 15, 2024, 9:45 PMedited May 16, 2024, 12:18 AM

REDACTED

🧵 Deduplication summary of this thread w/ 400 messages

TLDR; REDACTED

The method we're currently using resulted in REDACTED It sounds like the group that looked into this all align on this new approach, and we just need to implement it.

More details on our current deduplication methods, the new method, and future work in the thread.

🙌10[illegible]2raised_hands::skin-tone-21
↳pjMay 15, 2024, 9:54 PMedited May 15, 2024, 10:38 PM

New dedupe methodology by @rh:
REDACTED

Other things tried:

  • REDACTED

This is the deduplication methods we're currently using for PDFs. It's implemented differently on ray and dask, so different datasets are using different methods.

  • REDACTED

Other deduplication methods in the codebase:
REDACTED

Future Work
REDACTED

↳lizMay 15, 2024, 9:54 PM

yeah i talked to devi about this and realized i didnt actually check that lol.

👍2
↳rhMay 15, 2024, 9:54 PM

yall pj is trying to post the initial thread still

berk1meow_heart1thread_police1no-thread1typingcat1
↳dawnMay 15, 2024, 9:56 PM

Ryan in what sense did you REDACTED Is that REDACTED of docs with a jaccard similarity above REDACTED with themselves?

please-thread1
↳rhMay 15, 2024, 10:16 PMedited May 15, 2024, 10:17 PM

that's just all the parts of the mix that are labelled as having pdfs in there somewhere, it's hard to say from the mix itself which part is pdf

↳rhMay 15, 2024, 10:21 PM

also doesn't necessarily make sense to only look at the new rate because if these are overly duplicated we've already done extra epochs on the data that we can't take back

↳kipplyMay 15, 2024, 10:21 PM

yeah :(

i mean also everything was deduped the same bad way

some things were just naturally worse

↳rhMay 15, 2024, 10:22 PMedited May 15, 2024, 10:22 PM

pdfs were hit especially hard i think because different pdf extractors output the formatting in completely different ways despite having the same text content

↳lizMay 15, 2024, 10:35 PM

im somewhat skeptical how much the REDACTED numbers mean mostly because REDACTED

➕1
↳lizMay 15, 2024, 10:36 PM

i think its prolly REDACTED on that for sure but i dont think its as wildly different as it looks

esp bc i also think same documents having REDACTED

↳rhMay 15, 2024, 10:36 PMedited May 15, 2024, 10:36 PM

you can treat it as precision/recall or whatever for a smoother representation, but the histograms are overall way better with norm

➕2
↳dawnMay 15, 2024, 10:36 PM

I think using REDACTED or something to get REDACTED is good, so long as we then do the quadratic thing within each cluster or something

👍1

yeah REDACTED

↳lizMay 15, 2024, 10:38 PM

i have a really shitty impl in spark i haven't tested whatsoever using the native spark.ml minhash impl that can do something like this but i have no idea how annoying it will be to get it to scale / how well it is written under the hood (plus my impl is not great)

REDACTED

↳ArianMay 15, 2024, 10:44 PM

How close is yijies spark implementation to scaling? If I recall he's gotten pretty far with it and it does multi band

His PR is still in progress and he last had a memory issue but I don't think it's too far from being scaled

↳lizMay 15, 2024, 10:46 PM

yeah it looked good from what ive saw i think dawn said it wasn't scaling or something? so i assumed it had issues with it. but like didn't see any reason why it inherently wouldn't

↳lizMay 15, 2024, 10:54 PMedited May 15, 2024, 10:59 PM

if its ooming bc key skew in the Window.partitionBy stage might be work swapping it out for aggregateByKey() instead of sorting and getting top idx

↳lizMay 15, 2024, 10:57 PM

i wonder if F.first() would have any under the hood optimizations for this either

↳yijieMay 16, 2024, 8:53 AM

what's size of the dataset we are trying to run REDACTED on? I can help to scale the spark version

↳ArianMay 16, 2024, 8:55 AM

what about the current implementation wasn't scaling yijie?

was it ooming on a shuffle?

↳yijieMay 16, 2024, 8:58 AM

I just haven't tested it on a large dataset, it may suffer from some data skew I guess. but we can find ways to fix, spark itself works very well if we do it right (I'm able to run the ngram hash dedup on the whole REDACTED

🙌1
↳rhMay 16, 2024, 9:04 AMedited May 16, 2024, 9:05 AM

my original test also included just subsampling a pdf against itself, which we performed REDACTED as well

↳rhMay 16, 2024, 9:06 AM

i understand it's quite a long thread but imo my methodology was very thorough and our existing dedup is bad

↳brendanMay 16, 2024, 9:14 AM

agreed that this was very thorough!

I think maybe there's two problems we're pulling at here:

REDACTED

REDACTED

↳rhMay 16, 2024, 9:16 AM

i think when you look at common crawl there's probably no way we ran ray dedup across all of our data anyway

↳rhMay 16, 2024, 9:17 AMedited May 16, 2024, 9:17 AM

this is issue #3, our document dedups don't scale and we haven't actually done whole corpus dedup afaik besides exactdedup (which isn't document level)

↳brendanMay 16, 2024, 9:18 AM

common crawl, and the pdfs in pdfs v1 and v2, were all deduped with the spark fuzzy dedupe (which I believe the dask one was modeled off of)

↳rhMay 16, 2024, 9:19 AM

my understanding is even if individual datasets have been deduped, we don't have full corpus document dedup

👍1
↳rhMay 16, 2024, 9:20 AM

we need exactly one document level dedup that scales to corpus level and has actually been evaluated on the kinds of things we want to dedup

👍1
↳rhMay 16, 2024, 9:21 AMedited May 16, 2024, 9:21 AM

and go patch all the other dedups to throw a runtime error or just delete them outright so people stop using them

10002
↳lizMay 16, 2024, 9:21 AM

might be interesting to scale the target jaccard by the avg overlap of two documents in the set we are deduping against or something.

problem is i think the REDACTED are just very REDACTED.
theres also issues comparing things with very different avg doc lengths. jaccard in general penalizes larger sets. ie a large doc can have a smaller one entirely container within it and have a pretty low jaccard.

def need to scale the dedup though asap

↳rhMay 16, 2024, 9:21 AMedited May 16, 2024, 9:21 AM

why do those say v1 and v2 in the opposite order

↳rhMay 16, 2024, 9:21 AMedited May 16, 2024, 9:22 AM

also exact same thing with shuffle (just less about correctness, more about our pipelines working)

↳ArianMay 16, 2024, 9:22 AM

i agree with ryan on one dedup. It gets very confusing when we have all of these dedups, some of which work at some scales and others that don't (all with slightly different implementations)

↳brendanMay 16, 2024, 9:22 AM

why do those say v1 and v2 in the opposite order (edited)i think v2 says "against v1" because we're trying to do like dedup(v2) - deduped(v1)

↳lizMay 16, 2024, 9:23 AM

i think its prolly worth it having some sense of a fuzzy v exact one but yes we have way way more than necessary lol

↳rhMay 16, 2024, 9:23 AM

is the spark dedup somewhere else in the file? you linked to the empty datanode

↳brendanMay 16, 2024, 9:23 AM

yeah, unfortunately the "convention" in spark is to run it outside of data pipeline, and then plop the output into a datanode

(or at least, was at the time)

↳lizMay 16, 2024, 9:32 AM

im a lil confused tho

bc normally youd go like approxSimilarityJoin() and it would get you the candidate pairs

↳lizMay 16, 2024, 9:32 AM

so i think its like using MinHash to hash it but then a single band after?

👍1
↳brendanMay 16, 2024, 9:57 AM

my methodology was very thorough and our existing dedup is badyeah, i'm convinced

↳brendanMay 16, 2024, 10:00 AM

i'd be happy to pitch in on experiments (eg. adding banding + normalization to the older spark implementation, and running on pdfs v1 and v2)
but also happy to just delurk if others want to do it / its already in progress

↳jenniferMay 17, 2024, 12:52 AM

@yijie if you've got the experiment set up already you could also try rebasing this and then j49_word_split will probably give you something
identical to \s+ but better at cjk

👍2
↳jenniferMay 17, 2024, 12:05 PM

I might be misunderstanding because I thought normalization was orthogonal to splitting. Wdym by normalization? Do you have a link to a notebook?

dawnMay 15, 2024, 9:51 PMdeleted May 15, 2024, 9:56 PM

has found a method that gets REDACTED correctwhat exactly is this method?

dawnMay 15, 2024, 9:52 PMdeleted May 15, 2024, 9:55 PM

Also, Liz said at one point:
REDACTED

attachment image.png, 69 KB

pjMay 15, 2024, 10:37 PMedited May 16, 2024, 12:36 AM

🙋‍♀️ Is anyone interested in implementing and testing the new version e2e? cc @brendan @liz @dawn @jennifer who have been involved in this discussion from the beginning

↳lizMay 15, 2024, 10:42 PM

(rn main issue with it is that i used a bunch of half baked spark helpers i never tested so ive just been debugging those instead of testing it lol)

↳lizMay 15, 2024, 10:43 PM

@yijie also has a spark version that looks p good imo

if it can be scaled well enough

↳pjMay 15, 2024, 10:44 PM

Ok I think it might even be for more than one person from tokens to work on this together b/c more than one person should have context if it's something we're going to use across jobs if anyone else is interested in pairing w/ you

↳rhMay 15, 2024, 10:45 PM

this feels important enough imo to throw several people at medium to high prio immediately

👍2
↳lizMay 15, 2024, 10:45 PM

i think it wouldn't be that hard to patch the ray version into doing it a few times over though

👍1

to at least get to like a few bands + normalization

#panama-leads

Sept. 24, 2024 · ECF 555-13 (PDF) · also filed as ECF 560-35 · 2 messages

Scanning vendor and book warehouse photos.

turveySep 24, 2024, 11:41 AM

Some images from our book scanning vendor in Chicago today

attachment IMG_1420.MOV (4 MB; preview not rendered in the export)
attachment IMG_1424.jpg (809 KB; preview not rendered in the export)
attachment IMG_1410.jpg (2 MB; preview not rendered in the export)
attachment IMG_1408.jpg (1 MB; preview not rendered in the export)
attachment IMG_1404.jpg (1 MB; preview not rendered in the export)
attachment IMG_1428.jpg (2 MB; preview not rendered in the export)
attachment IMG_1423.jpg (2 MB; preview not rendered in the export)

🙌2
turveySep 24, 2024, 3:23 PM

Working on a deal with World of Books (6.2m books in inventory in the US) - great tour and deal discussions today

attachment IMG_1459.jpg (3 MB; preview not rendered in the export)
attachment IMG_1455.jpg (2 MB; preview not rendered in the export)
attachment IMG_1451.jpg (1 MB; preview not rendered in the export)
attachment IMG_1449.jpg (2 MB; preview not rendered in the export)

amaze2

(The exhibit then includes three full-page photographs, Bates-numbered separately from the Slack pages; they are not labeled with a filename, so which attachment each corresponds to is not shown.)

wide elevated view of a large warehouse interior with long rows of low shelving filled with open cardboard boxes of used books, many with pink tags; overhead steel trusses and lights; a hanging sign reads "E2", with other aisle signs such as "E3" and "E4" in the distance
ANT_BARTZ_000415597
view down a long aisle of tall green-and-red metal pallet racking, each shelf level holding labeled cardboard boxes filled with books standing on end; barcode location labels on the shelf edges and on the floor along the aisle; a large ceiling fan overhead
ANT_BARTZ_000415598
warehouse floor with tall shelving units of books labeled "E3" with numbered markers (23, 22, 21, 20, 19 ...), and in the foreground rolling carts stacked with books, one cart's bin labeled "Standard"; a few workers in the background; a large ceiling fan and overhead lights
ANT_BARTZ_000415599

_ptevals-09182024

Sept. 18, 2024 · ECF 563-9 (PDF) · 187 messages

Pretraining evals channel.

jolyonSep 18, 2024, 6:37 AM

I'm seeing evals showing up in antx under weird names like
{bucket}/data_pipeline/booksREDACTED/{split}/metadata.json which looks like an error somewhere?

↳jolyonSep 18, 2024, 6:38 AM

Another example:
{bucket}/u/liz/spark_persists/tepui_noncode.chopped_v2_repatch_unique_id_test_set_fix_checkpointREDACTED/split={split}/metadata.json

↳zeeSep 18, 2024, 8:49 AM

I'm not sure if that would be better tbh, then we'd have to keep that mapping somewhere right?

↳jolyonSep 18, 2024, 8:51 AM

not sure I'm going to ever plot things with names like this lol. Too much cognition to decide "is this the code eval?"

👍2
↳kipplySep 18, 2024, 9:18 AM

yeah it should also tell you the split anywho

i think it's very worth cleaning up the names, for both evals and tokens sanity lol

↳pjSep 18, 2024, 9:25 AM

As a short term solution, if you want to reference which loss evals we're using for the big models, you can find the names on go/pt-evals. You'll see the dataset name in eval args

attachment Screenshot 2024-09-18 at… (51 KB) — image preview blank in export

↳kipplySep 18, 2024, 9:25 AM

unfortunately the test set evals are per run and worth looking at :smiling_face_with_tear:

↳pjSep 18, 2024, 9:32 AM

I'm assuming @jolyon is running architecture experiments and not data experiments. I agree that the small architecture run mix may not matchREDACTED

I'm unsure if we can expect tokens to fix this problem for us since they have their own naming convention that has more detail than what we want for evals because they have many versions of the same data

↳zeeSep 18, 2024, 9:34 AMedited Sep 18, 2024, 9:34 AM

The other complication is that Jolyon and Kipply are probably talking about loss evals run by Jaxotron / Eval Suite, while we're using eval toolbox, so a renaming convention could need to straddle both

↳kipplySep 18, 2024, 9:34 AMedited Sep 18, 2024, 9:35 AM

i mean even tepui_noncode.chopped_v2_repatch_unique_id_test_set_fix_checkpointREDACTED is much more sane to read and doesn't remove any information *

*other than the bucket name, which really shouldn't be relevant

👍1
↳zeeSep 18, 2024, 9:36 AM

Yeah, but if it's as standard as that we could also just replace it during plotting and it'd be easier than other solutions

↳jolyonSep 18, 2024, 9:40 AM

Note: yes, I'm doing architecture experiments in jaxotron. I'm fine with ignoring any junk that looks like that (though I wonder why we put them in if that's the case). But if we're going to use some of these as our "These are the evals we think are worth considering when we look at architecture CMs" (now or in the future), then we definitely need new names...

blobheart1
↳jolyonSep 18, 2024, 10:26 AM

Wondering why all these evals are running on jaxotron runs - I thought we only ran the ones that were listed?
REDACTED

↳rohanSep 18, 2024, 1:37 PM

I do think its really nice that the eval name is just directly the path on s3. We can def make the path less cursed tho

deviSep 18, 2024, 8:03 AM

Have we tried looking for other types of books than multilingual in our books eval? Was thinking that selecting just the stem textbooks could be an interesting eval if there are enough

🙌1
↳zeeSep 18, 2024, 8:07 AM

@hongbin had extracted stem problems from textbooks and arxiv. We currently do loss evals on those as well. Not entire textbooks though

↳deviSep 18, 2024, 8:09 AM

Would be interested in taking a quick look at this pipeline if anyone has a link handy. Would expect some step to pick out the stem books before training on them

↳zeeSep 18, 2024, 8:11 AM

"sl-arxiv-math-part1-part2-20-attempts-v0-310k" and "sl-arxiv-math-part3-20-attempts-v0-95k" are from arvix (same distribution)
"sl-books-math-v0-10-attempts-93k" is from books

"sl-arxiv-math-hard-v3-220k" and "sl-books-math-hard-v3-53k" are additionally-filtered versions of the above

These are spectra datasets

↳ninaSep 18, 2024, 8:11 AM

I think this would be very useful! More granular loss evals in general seem great.

↳pjSep 18, 2024, 9:54 AM

Yeah, we're planning to create more loss datasets. One approach we're considering is sourcing subject-matter eval datasets from the web that aren't part of our training data (like the economist, substacks, stratechery plus, semianalysis, etc)

🙌2
↳deviSep 18, 2024, 11:06 AM

@lzl has been classifying panama books with haiku, and will be running the same process on our evals books dataset (REDACTED I believe), then we can get sub-evals of the form English math books vs English fiction etc

CC @mycal who may have already done this (though I think that was old panama books?)

↳mycalSep 18, 2024, 11:08 AM

Yeah, I have indeed done this on panama books. I think @lzl is up-to-speed on that code and knows all the secrets. Let me know if I can support

↳lzlSep 18, 2024, 11:08 AM

OK then I'll run this on book3. I somehow thought you have run it on books3

👍1
↳mycalSep 18, 2024, 11:11 AM

Sneak peek of books3 categories available here:REDACTED

attachment Screenshot 2024-09-18 at… (242 KB) — image preview blank in export

meow_heart1
↳lzlSep 18, 2024, 1:33 PM

@mycal it seems like the source book3 data you used wasn't splitted by language, and I found at least one chinese book in the mix. I assume for eval we mainly want English prose? cc @devi @pj

↳deviSep 18, 2024, 1:42 PM

maybe faster to re-score the already categorized books with the fasttext classifier and filter out the ones with high English score, rather than classifying the English books?

↳lzlSep 18, 2024, 1:44 PM

I think it's easier to just rerun mycal's classifier node given that I'm already familiar with it, and we can start from the evals.books3 nodes which presumably aligns better with the actual eval we have?

↳lzlSep 19, 2024, 3:39 PM

Wondering where should I register the categorized books eval? Should I add it as part of the pt-loss eval suite? There are quite a lot of categories
REDACTED

↳mycalSep 19, 2024, 3:41 PM

Perhaps chat with @.guanghe about how he set up the multilingual books data? Seems like a similar vibe to me

👍1
↳guangheSep 19, 2024, 3:48 PM

might be good to first set up a loss eval in jaxotron.run_tools.run_evals locally. If it seems useful we can add it to a hook?

👀1
↳guangheSep 19, 2024, 3:49 PM

it's very simple to run, and you can refer to multilingual_loss as an example in that script:
REDACTED

👍1
↳zeeSep 18, 2024, 9:39 AM

We should have most st_qa and multimodal evals! Just need to enable them on the dashboard forREDACTED

↳zeeSep 18, 2024, 9:40 AMedited Sep 18, 2024, 9:41 AM

once we plot we can decide exactly which evals we want to keep running as part of the syncer. Not all evals are informative right now since it's so early

↳shijieSep 18, 2024, 9:47 AM

for some reason can't get the slack bot to post in a new channel so i am going to post to #jobs-monitor

↳zeeSep 18, 2024, 9:48 AM

(just want to see the evals plotted with Teal/Dove), could be –dev as well

(also add the mapping fromREDACTED in variables.py)

👍1
↳pjSep 18, 2024, 9:49 AM

One issue we've had in the past is that slackbots weren't able to post in pretraining workspace. Unsure if it was actually an issue or still an issue

til1
↳shijieSep 18, 2024, 10:27 AM

i only see one match with

import antx
df = antx.eval_data(run=REDACTED, eval_names=["multimodal_dataset_loss"])on
multimodal.cc_pdf_ocr_j49_v2REDACTED
↳shijieSep 18, 2024, 10:33 AMedited Sep 18, 2024, 10:33 AM

will go back and fix the description once it's added

↳zeeSep 18, 2024, 10:52 AM

My bad, I was on a branch for running robert's evals and didn't update that file by accident

↳pjSep 18, 2024, 11:16 AM

Nice to see MM sampling evals on go/pt-evals too!

  • Should we add a note explaining theREDACTED so people like dario understand?
  • Are we still adding mm test split evals? I don't see them on the dash yet

attachment Screenshot 2024-09-18 at… (26 KB) — image preview blank in export

↳zeeSep 18, 2024, 11:17 AM

I'd guess the MM test split are there, it's just we don't have any data points for them yet

I probably need to backfill a bit more aggressively for those

↳pjSep 18, 2024, 11:17 AMedited Sep 18, 2024, 11:18 AM

They haven't shown up yet. Is this an old version of the dash?

attachment Screenshot 2024-09-18 at… (37 KB) — image preview blank in export

↳pjSep 18, 2024, 11:18 AMedited Sep 18, 2024, 11:19 AM

Cool that makes sense. Let's increase job priority if we need to

↳pjSep 18, 2024, 11:21 AM

Btw @lzl ty for the slackbot alerting implementation - we enabled it todday!

ty-thankyou1
↳zeeSep 18, 2024, 11:21 AM

Yeah I think the end point might be:

  1. A frequent set that we run 1-2x every day: this should have small / impactful evals
  2. A full set that we run every 3-4 days?
↳zeeSep 18, 2024, 11:21 AMedited Sep 18, 2024, 11:24 AM

E.g. do we want to run mmlu_test and mmlu_pro_test every day? Each is 14k questions and takes like an hour by itself

But yeah I'm running the full set for 140B and 160B for now so we can better pick which ones to run at what frequency

↳pjSep 18, 2024, 11:30 AMedited Sep 18, 2024, 11:30 AM

I vote for running all evals once daily

Re MMLU, let's do research to figure out what's the min number of questions that gives non-noisy signal and switch to that. @zee are there any other evals that take a long time?

Cons to running evals every 3 days:

  1. We don't know what days we merge master intoREDACTED which is one of the main causes for issues, so I prefer running everyday
  2. Infrequent runs risk eval failures, potentially causing backfilling emergencies
  3. Daily runs help account for noise in some evaluations by providing more data points
➕1
↳zeeSep 18, 2024, 11:33 AM

I think some evals like mmlu_pro_test have a "canonical" number of problems that people typically expect

↳zeeSep 18, 2024, 11:34 AM

Yeah I think so, so I don't know if we should be reducing problems. From a noise point of view, I think 1k is definitely sufficient for an eval to not be noisy

↳shijieSep 18, 2024, 11:34 AM

if we downsample key dataset, we prob need to make sure that we don't increase the variance

↳zeeSep 18, 2024, 11:35 AMedited Sep 18, 2024, 11:36 AM

So currently the biggest evals to run are

  1. mmlu_pro_test/mmlu_test: 12k/14k
  2. multilingual evals (mmlu, m3exam_text): 1-2k per language
↳pjSep 18, 2024, 11:36 AMedited Sep 18, 2024, 11:36 AM

I'm happy to talk to nick about his preferences again, but last i heard - once a day, cut down sample numbers (specifically mentioned mmlu pro)

↳zeeSep 18, 2024, 11:36 AM

Yeah that would def work! I don't mind cutting number for any evals (once we verify noise)

↳shijieSep 18, 2024, 11:38 AM

@pj plot for the amazon code report

attachment scatter_plots.png (564 KB) — image preview blank in export

blobty1👀1🙌1
↳zeeSep 18, 2024, 11:42 AM

Yeah that's true, right now everything is usign 7-8k because we enabled image encoder and everything goes through that code path, and picobatching with image encoder needs additional figuring-out

↳zeeSep 18, 2024, 11:42 AMedited Sep 18, 2024, 11:42 AM

I could probably disable the image encoder for text evals and use 3840 picobatch size

↳shijieSep 18, 2024, 11:44 AM

the image encoder is padding text only input? i have no idea how it works 😅

↳zeeSep 18, 2024, 11:45 AMedited Sep 18, 2024, 11:45 AM

Spectra image encoder is very hacked together right now, it doesn't support basic functionalities that you'd expect to work

↳zeeSep 18, 2024, 11:49 AMedited Sep 18, 2024, 11:49 AM

Yeah right now things are running, there's possible room for optimization if we want (though maybe forward_rect will come out at some point so unclear if worth)

↳zeeSep 18, 2024, 11:50 AM

I think ideally we'd be able to use the same pgyro for all text evals and pad/picobatch to 1920, 3840, 7680 depending on length of the text inputs, but unclear to me how possible this is

↳pjSep 18, 2024, 11:51 AMedited Sep 18, 2024, 11:52 AM

I agree that we should optimize if it's easy to do. I trust you to decide if it's worth it! There's other evals work that's blocking other work too so we should consider the opportunity cost too.

👍1
↳zeeSep 18, 2024, 11:52 AM

I might give it a shot later today when we're a bit more backfilled, since neon2 is tight still

👍1
↳zeeSep 18, 2024, 11:53 AM

Thanks! I think the systems people seem pretty busy with stuff lately, do we need their help on this?

↳shijieSep 18, 2024, 11:54 AM

i think they are working on this in parallel. i am checking what other logic is missing

↳zeeSep 18, 2024, 12:41 PM

Looks likeREDACTED has inputs withREDACTED we'll skip that for now

Also need to look into race_with_n_problems, possibly also failing due to length

↳zeeSep 18, 2024, 12:43 PM

Yeah longest race isREDACTED I'm skipping those two evals for now forREDACTED-related stuff

↳zeeSep 18, 2024, 2:08 PMedited Sep 18, 2024, 2:08 PM

REDACTED Json seralization error which was causing all loss evals to not save their per-question answers, and instead throwing a realllly long error message (in yellow and red)

↳zeeSep 18, 2024, 2:09 PM

'

blobheart1

It's been annoying me for months now, finally found the cause

🙌1

I like how PJ blobhearted my ' message

↳pjSep 18, 2024, 3:51 PM

just saw this thanks for adding to the doc zee

attachment Screenshot 2024-09-18 at… (304 KB) — image preview blank in export

npnpnp1
↳pjSep 18, 2024, 3:52 PMedited Sep 18, 2024, 3:52 PM

had an HMS and have 2 candiates coming for HH so will be away for a bit

↳zeeSep 18, 2024, 5:55 PMedited Sep 18, 2024, 8:33 PM

State ofREDACTED evals running:

REDACTED

REDACTED

REDACTED

REDACTED

🙌2
kipplySep 18, 2024, 11:34 AM

smol request for theREDACTED dashboard; can we plot accuracy and loss_correct_answer?REDACTED improves but would like to see it :blobooh:

↳pjSep 18, 2024, 11:34 AM

We will eventually. Non-loss evals aren't implemented forREDACTED yet until we have foward_rect

↳zeeSep 18, 2024, 11:37 AMedited Sep 18, 2024, 11:38 AM

We do have loss_correct_answer I think (in the database)

blobheart1
↳kipplySep 18, 2024, 11:38 AM

also I'm going to police on saying "dataset" and "multiple choice" eval because loss isn't a type of eval but a type of scoring 😟

↳zeeSep 18, 2024, 11:40 AM

If you want loss_correct_answer, we could eventually help give you a query for it, but unclear if it's a metric that people typically look at on the dashboard? PJ what do you think?

↳pjSep 18, 2024, 11:46 AM

Sorry, I misunderstood the original question! I think there's multiple types of accuracy too

👍1
↳pjSep 18, 2024, 12:06 PM

I wonder ifREDACTED shows similar behavior. If the data's already in the stqa database, we could probably whip up a quick preview with this plot to check if it's useful to add. I'll add it to our open questions on Asana

👍1
evanmillerSep 18, 2024, 12:29 PM

Happy to help add standard errors / CIs to PT's eval dashboards if people think it would be informative for PT use-cases. cc @zee @shijie
REDACTED

🙌3👀1❤️1
↳pjSep 18, 2024, 12:53 PMedited Sep 18, 2024, 12:54 PM

Nice! How are these implemented? Curious if there's an eval toolbox flag we can use

↳pjSep 18, 2024, 1:45 PM

Gotcha! I'm curious what the confidence intervals look like on our big model runs too

I think @zee's first project was looking at confidence intervals in pt evals too. @zee what happened to that? Was it only for small model data evals?

andyshihSep 18, 2024, 2:02 PM

im looking to run the pm_score_regression eval, and naively it seems like I just need to replace "agent" with "policy_agent" and set max_n_ctx toREDACTED Is there a way to see the maximum ctx required for an eval, or to skip a prompt instead of crashing if it exceeds maximum ctx?

↳zeeSep 18, 2024, 2:03 PMedited Sep 18, 2024, 2:04 PM

Would be a question for eval toolbox, but I did something like this today to see ctx lengths

REDACTED
)
REDACTED
*,
agent: AutoregressiveAgent,
REDACTED
)
REDACTED

You'd need to adapt it to your eval

thankyou1
↳andyshihSep 18, 2024, 3:20 PM

i'm getting OOM so i set this line to 1, but still getting OOMs. Is the next best thing to try to increase theREDACTED

✅1
↳andyshihSep 18, 2024, 3:26 PMedited Sep 18, 2024, 3:26 PM

its a small model (jul24 32L): andyshih-v0-july24-15don-dre-10e-32l

↳jamieSSep 18, 2024, 3:27 PM

I think you will have a significant performance issue then running itREDACTED

👍1

(in terms of ML performance)

↳andyshihSep 18, 2024, 3:28 PM

yes thats true, let me just skip all the prompts above 7680 then

👍1
↳jamieSSep 18, 2024, 3:30 PM

The answer otherwise is that I added flags to use the long-ctx layout and context sharding to run eval-toolbox evals

↳jamieSSep 18, 2024, 3:32 PMedited Sep 18, 2024, 3:33 PM

It will help for sure doingREDACTED but we see worse generalization to longer contexts without any training on "sufficiently" long contexts

👍1
↳jamieSSep 18, 2024, 3:33 PM

I have a PR to add YaRN into eval-toolbox as well, but it isn't merged

🙌1
mitchellSep 18, 2024, 2:33 PMedited Sep 18, 2024, 2:34 PM

did you decide what to do about the tepui rewind? anything I can help with? it would be really awesome to show the new run as a different color maybe, so we can look at how evals compare during the overlap period

andyshihSep 18, 2024, 3:19 PMdeleted Sep 18, 2024, 3:20 PM

i'm getting OOM so i set this line to 1, but still getting OOMs. Is the next best thing to try to increase the tpu topology? (but im currently alreadyREDACTED

andyshihSep 18, 2024, 3:20 PM

replied to a thread:

im looking to run the pm_score_regression eval, and naively it seems like I just need to replace "agent" with "policy_agent" and set max_n_ctx toREDACTED Is there a way to see the maximum ctx required for an eval, or to skip a prompt instead of crashing if it exceeds maximum ctx?

i'm getting OOM so i set this line to 1, but still getting OOMs. Is the next best thing to try to increase the tpu topology? (but im currently already using 16x16)

✅1
scottSep 18, 2024, 3:23 PM

Trying to understand which evals to use to understand @.andyshih's over-epoched scan and @.cem's optimized-for-top1 scan, where there are large disagreements between different evaluation methods and we want to measure something closer to what we care about downstream (so, I think not multiple choice but something more like task completion). @.yolo has shown that codex works down to relatively small scale and that seems like a pretty appealing option. Other suggestions? @pj @ludwig

↳scottSep 18, 2024, 3:37 PM

Ya, Andy did actually put models on this and it's helpful! But I'd be excited for something a bit more repeatable and whatnot.

↳rohanSep 18, 2024, 3:38 PM

Andy did actually put models on thismaybe Andy put this on the actual FT HFI? mine just hosts a couple dcant models rn

btw, what were the results from that? i'd be very interested

🦈1
↳kipplySep 18, 2024, 3:39 PM

I'm optimistic that the hfi will teach us which evals have good signal/correlation, and I'm imagining we work with that as a primary eval for a while in order to learn which evals are correlated and good signal. I'm not sure there's a better way to narrow ourselves down to a set of evals we trust for this sort of thing

↳andyshihSep 18, 2024, 3:40 PM

maybe Andy put this on the actual FT HFI? mine just hosts a couple dcant models rnah i was tweaking @.yolo's streamlit app to do something very similar to your HFI interface, and trying it on some dove-transcript-ft'ed models (but was just playing with it myself)

↳rohanSep 18, 2024, 3:41 PM

yeah ok this sounds very similar to what we just did

@andyshih wanna talk in person for a bit?

↳pjSep 18, 2024, 4:10 PM

Had an HMS and now have to entertain candidates at HH, but can get back to you later

↳scottSep 18, 2024, 4:31 PM

Talked with @vs and @ludwig. I think we agree that the place to start is codex, and there are other code evals that can be run after. From @vs :
REDACTED15( @andyshih @Cem Anil)

👍2blobheart1
↳rohanSep 18, 2024, 4:34 PM

for codex, do we have 2 models where model A is much better on repo loss and model B is much better on codex? i think the first thing is to make sure we can find such anti-correlated patterns as we have with loss + prose downstream

❤️1
↳andyshihSep 18, 2024, 4:44 PM

model A is much better on repo loss and model B is much better on codexyeah ill run the codex evals and test this
one perspective is that codex is close enough to what we care about (generating useful code), that we'd just prefer the one with better codex perf
whereas the anti-correlation for loss/acc was interesting to keep testing because neither loss/acc are really how users use models

➕1
↳rohanSep 18, 2024, 4:01 PM

mid-long term we should def automate this with crowdworkers (we can have a tight feedback loop that gives us results in <1 hr)

there are also these alternate eval directionsREDACTED

blobheart1
↳pjSep 18, 2024, 4:05 PMedited Sep 18, 2024, 4:06 PM

Yeah, I agree that using HFI to compare SLed PT models will help build trust in our evals!

How can we make sure we get a statistically significant number of data points for all the different things our evals cover? Prose, code, multilang, multimodal etc