Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - Kada

Stran: [1]
1
Vývoj / Re:Jak abecedně setřídit hodně velkých souborů?
« kdy: 30. 10. 2023, 15:16:57 »
Jinak pokud by bylo potreba neco jako databaze, tak urcite v 2. postu zminena RocksDB (nemam zkusenost) nebo LMDB, Python binding (mam zkusenost a doporucuju).

V podstatě ano, ale raději bych volil postup nejdříve rozdělit podle prvního písmene do jednotlivých souborů (a la bucketsort) a až pak `sort` na jednotlivé soubory (plus následně rozpad na menší, když jsou "kbelíky" nad limit).
Muze byt, ale nez bych to napsal, tak to ten sort setridi, 800G neni zas tolik, zalezi, kolik je k dispozici RAM.

2
Vývoj / Re:Jak abecedně setřídit hodně velkých souborů?
« kdy: 30. 10. 2023, 10:32:16 »
Pracoval jsem kdysi s textovym korpusem kolem 1.5T (zhruba cely cesky internet v te dobe). Z techto textu se pocitaly nejake zakladni veci jako histogramy slov/n-gramu (zaznam <slovo/n-gram> <pocet vyskytu>). Moje zkusenost je, pokud to chcete zpracovavat pouze na 1 stroji, neni nic rychlejsiho nez `sort` z prikazove radky s patricnymi parametry.

Pro dany problem bych postupoval na 2 kroky:
1. setridil obsah vsech souboru do jednoho velkeho, neco jako
Kód: [Vybrat]
find ./ -type f -exec cat {} \; | pv | LC_ALL=C sort -S 32G --parallel=16 -T /rychly/docasny/adresar >all_in_one.txt
`pv` je program pipeview, aby bylo videt, kdy se nacte vstup, lze nahradit `head -n 10000` pro otestovani. 32G je RAM, 16 pocet jader
Protoze se data nevlezou do pameti, sort bude odkladat mezivysledky do adresare -T. Doporucuju neco, kde je dostatek mista :), minimalne na cela vstupni data.

2. nejakym jednoduchym skriptem z velkeho souboru udelal pozadovanou adresarovou strukturu.


3
Software / Re:Google Tabulky - odeslání emailem
« kdy: 15. 09. 2023, 11:18:52 »

4
...
poměrně značné množství článků
...
To jsme se moc od "velkém množství českého textu" neposunuli. Kolik to je, 10k, 10M, 10G clanku?

Řazení výsledků... ta logika už může být poměrně komplikovaná, protože počet shod v příslušném článku nemusí nutně znamenat, že se jedná o nejrelevantnější výsledek. Dalo by se do toho zařadit s určitou váhou i četnost zobrazení takových článků za např. poslední tři měsíce apod.
Textova relevance je trochu slozitejsi obor nez "pocet shod". Asi bych nedoporucil to vymyslet/programovat, ale nechal to na pouzitem vyhledavaci, Elasticsearch napriklad pouziva variantu BM25.

Pokud mate dalsi atributy (jako treba cetnost zobrazeni clanku), tim lepe. Musite nicmene vymyslet formuli, jak z vektoru atributu, vcetne textove relevance, vydestilujete radici kriterium. Typicky postup je:
dotaz->vyhledavaci stroj vrati N matchujicich dokumentu->pretrideni N dokumentu->vyber top K, ktere se zobrazi.
Velke vyhledavace pouzivaji na onu formuli strojove uceni, da se nicmene zacit i s z prstu vycucanym vzorcem typu:
("textove score"+(log("pocet zobrazeni"))

Nerozumím až tak návrhu "Zvazil bych vygenerovani embdedingu z dokumentu/dotazu pomoci jazykoveho modelu a pouziti podobnostniho hledani."
1. Predpocitate embedding pro dokumenty pomoci jazykoveho modelu, aka cerne skrinky, ktera z textu v cestine vyrobi vektor cisel pevne delky (napriklad 1024 8bit cisel).
2. Pomoci stejneho modelu spocitate embedding/vektor dotazu
3. Podobnostnim vyhledavanim vyhledate dokumenty nejpodobnejsi vektoru dotazu. Podobnosti se typicky mysli kosinova podobnost.

Pro pocitani vektoru, mate-li nekonecne zdroje a spoustu casu, lze pouzit OpenAI embedings jako sluzbu. Na vlastnim HW pro cestinu napriklad Small-E-Czech.
Jako podobnostni databazi muzu doporucit Faiss. Ale i dnesni nektere relacni databaze umi podobnostni hledani.

Nicmene, kdyz odhlednu od toho, co pisu, doporucil bych vyzkouset zminovany PostgreSQL/Elasticsearch se slovnikem typu ispell. Pokud to bude stacit, konec pribehu. Pokud ne, viz vyse :).

5
Stalo by za to trochu rozvest:
- "velkém množství českého textu" -- kolik zhruba dokumentu, jak jsou velke?
- jake dotazy se budou hledat? (kraticke 2-3 slovne dotazy vs cele dlouhe vety o desitkach slov)
- jakym zpusobem se maji vysledky radit? (pouze podle textove relevance/shody s dotazem, nebo i neceho dalsiho)

Reseni zalozene na lemmatizaci/ispelech pocitaji s indexovanim dokumentu pres slova. Kvalita hledani pro kratke dotazy nebyva dobra, zejmena pro to, ze lemmata/ohackovani nejsou jednoznacne a pokud generujete vsechny varianty, vybublaji zcela nerelevantni dokumenty.

Zvazil bych vygenerovani embdedingu z dokumentu/dotazu pomoci jazykoveho modelu a pouziti podobnostniho hledani. Nevyhoda je vyrazne vyssi narok na zdroje (CPU/GPU/RAM).

6
Odkladiště / Re:Vlastní instalace ChatGPT
« kdy: 25. 08. 2023, 14:53:51 »
Nez se vydas do Alzy:
- zkus zminovane gpt4all (staci stroj s 16GB RAM, i bez Nvida grafiky);
- specificky pro Llama 2 je tu llama-gpt (teoreticky staci 8GB RAM);
- pokud chces generovat "ideologicky zavadne veci" (porno, hate speech, ...), musis model dotrenovat (mozna te tu nekdo nasmeruje na model, ktery to umi rovnou, ja o zadnem verejnem nevim, u nekterych lze castecne obejit promptem);
- pokud bys chtel modelu jen dodat vlastni dokumenty, LlamaIndex, na CPU nedoporucuju, protoze procesis cele dokumenty.

7
Software / Re:Rekurzivní porovnání adresáře v MC
« kdy: 29. 05. 2023, 21:34:48 »
AFAIK nelze. Teoreticky by mozna slo premluvit diff, aby pracoval s panely v mc. Pokud netreba nutne terminal, mozna by stacil meld.

8
Hardware / Re:Hledám síťovou laserovou tiskárnu se skenerem
« kdy: 21. 03. 2023, 21:12:00 »
Brother DCP-L2532DW , 2 roky bez problemu, v Linuxu (Ubuntu 20.04, 22.04) tisk i scanner bez ovladacu, MacOS taktez. Oboustranny tisk, "kopirka", pouzivam pres WiFi.

9
Studium a uplatnění / Re:ChatGPT a AI
« kdy: 14. 02. 2023, 20:33:48 »
Pamatuju si ještě programování na střední, myslím si že to bylo C# a spolužák učitelovi řekl: Když to Visual Code Studio vidí že mi někde chybí ; proč ho tam nedoplní ? Všichni jsme zůstali zamyšlený  :D
Tohle umelo Smalltalk IDE (VisualWorks) v roce 1996. Jednoduche syntakticke chyby, oprava preklepu v nazvu promenne. Na 1 klik opravilo a pokracovalo v prekladu/behu.

Stran: [1]