Comments (2)
While the resulting numbers are not the same, this does not seem conclusive proof to me that you get more collisions, you will simply get them on different values as in the end you will always have the modulo squashing everything to the same value range for both cases
The pure python implementation has the (very big) disadvantage of being considerably slower
from datatrove.
I agree that this is not conclusive proof of more collisions, however, it seems like a bug to me to purportedly do affine transforms modulo mersenne primes, when this is not what the code is doing.
Currently, the implementation is doing the following:
def h3(a, b, shingles):
# Native python, simulating overflow, equals to h1.
rows = []
for sj in shingles[:, 0].tolist():
rows.append([
((sj * ai + bi) % (1<<64)) % _mersenne_prime
for ai, bi in zip(a[0].tolist(), b[0].tolist())
])
return np.array(rows)
At which point I doubt the whole mersenne prime field serves any purpose, and you can just go mod (1<<64), i.e. no mod (or mersenne primes) at all.
from datatrove.
Related Issues (20)
- MinhashDedup should use the language parameter
- I would like to get help from Datatrove enthusiasts regarding issues I'm facing while running the example script. HOT 33
- SlurmExecutor error: `TypeError: cannot pickle 'module' object` HOT 3
- Batched filter inputs? HOT 5
- datatrove fails to handle tasks >1k with slurm job arrays HOT 25
- need for dependency check for using fasttext HOT 2
- LocalPipelineExecutor does not use cpu cores HOT 2
- how to postpone filter init till it's running HOT 5
- DataFolder.list_files fails when glob_pattern is specified and include_directories set to True
- Slurm Cluster Size for FineWeb
- adding an automatic log file `tail` under slurm executor HOT 1
- GopherQualityFilter.__init__() got an unexpected keyword argument 'language' on kaggle HOT 2
- solved: how to launch a slurm executor from an interactive slurm job
- Potential issue of dedup in index
- How about addding custom word_tokenizers?
- Add Dataset type parameters
- boto timeout when I read CC with Warc HOT 1
- no qos driving to invalid qos specification HOT 6
- Option to Not Upload to Hugging Face Hub in HuggingFaceDatasetWriter HOT 1
- Reading tokenized datasets HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from datatrove.