Update README.md
Browse files
README.md
CHANGED
@@ -1,176 +1,71 @@
|
|
1 |
---
|
2 |
-
license: apache-2.0
|
3 |
-
datasets:
|
4 |
-
- BUT-FIT/BUT-LCC
|
5 |
-
- BUT-FIT/adult_content_classifier_dataset
|
6 |
language:
|
7 |
- cs
|
|
|
|
|
|
|
|
|
|
|
8 |
---
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
# <span style="color:red">BUT LM Model Roster</span>
|
15 |
-
- [BUT-FIT/CSTinyLlama-1.2B](https://huggingface.co/BUT-FIT/CSTinyLlama-1.2B)
|
16 |
-
- [BUT-FIT/Czech-GPT-2-XL-133k](https://huggingface.co/BUT-FIT/Czech-GPT-2-XL-133k)
|
17 |
-
- [BUT-FIT/csmpt7b](https://huggingface.co/BUT-FIT/csmpt7b)
|
18 |
-
|
19 |
-
# <span style="color:blue">Latest Updates</span>
|
20 |
-
- 01/10/2024 We released [BenCzechMark](https://huggingface.co/spaces/CZLC/BenCzechMark), the first Czech evaluation suite for fair open-weights model comparison.
|
21 |
-
- 18/04/2024 We released all our training checkpoints (in MosaicML format & packed using ZPAQ) at [czechllm.fit.vutbr.cz/csmpt7b/checkpoints/](https://czechllm.fit.vutbr.cz/csmpt7b/checkpoints/)
|
22 |
-
- 06/05/2024 We released small manually annotated [dataset of adult content](https://huggingface.co/datasets/BUT-FIT/adult_content_classifier_dataset). We used classifier trained on this dataset for filtering our corpus.
|
23 |
-
-
|
24 |
-
# Evaluation
|
25 |
-
Dev eval at CS-HellaSwag (automatically translated HellaSwag benchmark).
|
26 |
-
| Model | CS-HellaSwag Accuracy |
|
27 |
-
|---------------|----------------|
|
28 |
-
| mistral7b | 0.4992 |
|
29 |
-
| csmpt@130k steps [released] | __0.5004__ |
|
30 |
-
| csmpt@100k steps | 0.4959 |
|
31 |
-
| csmpt@75k steps | 0.4895 |
|
32 |
-
| csmpt@50k steps | 0.4755 |
|
33 |
-
| csmpt@26,5k steps | 0.4524 |
|
34 |
-
|
35 |
-
|
36 |
-
However, we ran validation over the course of training on CS-Hellaswag, and after 100k steps, the improvements were very noisy if any.
|
37 |
-
The improvement over mistral7b is not significant.
|
38 |
-
|
39 |
-
|
40 |
-
## Loss
|
41 |
-
We encountered loss spikes during training. As the model always recovered, and our budget for training 7b model was very constrained, we kept on training. We observed such loss spikes before in our ablations. In these ablations (with GPT-2 small), we found these to be
|
42 |
-
- (a) influenced by learning rate, the lower the learning rate, less they appear, as it gets higher, they start to appear, and with too high learning rate, the training might diverge on such loss spike.
|
43 |
-
- (b) in preliminary ablations, they only appear for continuously pretrained models. While we do not know why do they appear, we hypothesize this might be linked to theory on [Adam instability in time-domain correlation of update vectors](https://arxiv.org/pdf/2304.09871.pdf). However
|
44 |
-
such instabilities were previously observed only for much larger models (larger than 65b).
|
45 |
-
|
46 |
-
### Corpora
|
47 |
-
The model was trained on 3 corpora, which were hot-swapped during the training. These were collected/filtered during the course of training.
|
48 |
-
- Corpus #1 was the same we used for our [Czech GPT-2](https://huggingface.co/BUT-FIT/Czech-GPT-2-XL-133k) training (15,621,685,248 tokens).
|
49 |
-
- Corpus #2 contained 67,981,934,592 tokens, coming mostly from HPLT and CulturaX corpora.
|
50 |
-
- Corpus #3 (with 66,035,515,392 tokens) is Corpus #2 after we removed proportions of the unappropriate content (which avoided our other checks) through linear classifier.
|
51 |
-
|
52 |
-
|
53 |
-
<img src="figures/tloss_full.png" width="900"/>
|
54 |
-
Figure 1: Training loss.
|
55 |
-
<img src="figures/tloss_closeup.png" width="900"/>
|
56 |
-
Figure 2: Training loss closeup. We mark two hotswap places, where the training corpus #1 was switched for internal-corpus #2 and internal-corpus #2.1 respectively. The flat region between 112k steps and 119.5k steps is caused by missing data---due to an accident, we lost these logs.
|
57 |
-
|
58 |
-
In Figure 3 (but also marked in Figure 2), we perform two ablations:
|
59 |
-
|
60 |
-
- (a) After first hot swap, we continued training on the corpus #1 for a while. Result: The fact that test loss is slightly better, signifies the slight difference between distribution of corpus #1 and corpus #2.
|
61 |
-
- (b) On step 94,000, the training loss stopped decreasing, increased, and around step 120,000 (near hot swap #2) started decreasing again. To ablate whether this was an effect of hot-swap, we resume training from step 93,000 using corpus #3.The optimizer states were reinitialized. Result: Neither corpus #3, nor optimizier state reinitialization seems to mitigate the issue of local divergence at step 94,000.
|
62 |
-
|
63 |
-
<img src="figures/vloss_closeup.png" width="900"/>
|
64 |
-
Figure 3: Test loss closeup, testing performed on split of internal-corpus #1. See Figure 2 description for ablation explanation.
|
65 |
-
|
66 |
-
|
67 |
-
## Training Method
|
68 |
-
### Vocabulary Swap
|
69 |
-
To transfer knowledge from English model to Czech, we developed a simple method that (i) aligns several tokens between two vocabularies and (ii) copies the embeddings from original language to new language.
|
70 |
-
<img src="figures/tllama_test.png" width="900"/>
|
71 |
-
Figure 4: Test perplexity over the course of training for vocabulary swap (swapping 1.7K tokens) method on TinyLLAMA. Our method (green curve) vs TinyLLAMA training from scratch (blue curve).
|
72 |
-
|
73 |
-
The vocabulary swap was done the same way as our [Czech-GPT-2](https://huggingface.co/BUT-FIT/Czech-GPT-2-XL-133k) model (check it out for comprehensive description.)
|
74 |
-
For CSMPT7b, we managed to align 4,177 english tokens with corresponding czech tokens.
|
75 |
-
|
76 |
-
## Hyperparameters
|
77 |
-
Not mentioned hyperparameters were kept the same as for MPT.
|
78 |
-
| **Name** | **Value** | **Note** |
|
79 |
-
|----------------------------|---------------|----------------------------------------------------------------------------------------------|
|
80 |
-
| training sw | llm-foundry | We've done some minor patching (e.g., to allow DDP sync over file) |
|
81 |
-
| dataset_type | Concat | Sequences at the model's input were concatenated up to `$max_seq_len`, divided by EOS token. |
|
82 |
-
| tokenizer_size | 64k | Same as in [Czech-GPT-2](https://huggingface.co/BUT-FIT/Czech-GPT-2-XL-133k) |
|
83 |
-
| max_seq_len | 2048 | |
|
84 |
-
| batch_size | 1024 | |
|
85 |
-
| learning_rate | 1.0e-4 | |
|
86 |
-
| optimizer | LionW | |
|
87 |
-
| optimizer_betas | 0.9/0.95 | |
|
88 |
-
| optimizer_weight_decay | 0 | |
|
89 |
-
| optimizer_eps | 1.0e-08 | |
|
90 |
-
| gradient_clipping_max_norm | 1.0 | |
|
91 |
-
| attn_impl | flash2 | we used triton flash-attn 1 implementation for initial ~60k steps |
|
92 |
-
| positional_encoding | alibi | |
|
93 |
-
| fsdp | FULL_SHARD | (we had implementation issues with hybrid sharding in llm-foundry) |
|
94 |
-
| precision | bf16 | |
|
95 |
-
| scheduler | cosine | |
|
96 |
-
| scheduler_warmup | 100 steps | |
|
97 |
-
| scheduler_steps | 170,000 | |
|
98 |
-
| scheduler_alpha | 0.1 | So LR on last step is 0.1*(vanilla LR) |
|
99 |
|
|
|
|
|
|
|
|
|
100 |
|
101 |
-
# Usage
|
102 |
-
## How to Setup Environment
|
103 |
-
```bash
|
104 |
-
pip install transformers==4.37.2 torch==2.1.2 einops==0.7.0
|
105 |
|
106 |
-
|
107 |
-
|
108 |
-
```
|
109 |
|
110 |
-
## Running the Code
|
111 |
-
```python
|
112 |
import torch
|
113 |
import transformers
|
114 |
-
from transformers import pipeline
|
115 |
|
116 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
117 |
|
118 |
-
config = transformers.AutoConfig.from_pretrained(name, trust_remote_code=True)
|
119 |
-
config.init_device = 'cuda:0' # For fast initialization directly on GPU!
|
120 |
model = transformers.AutoModelForCausalLM.from_pretrained(
|
121 |
-
|
122 |
config=config,
|
123 |
-
torch_dtype=torch.bfloat16, # Load model weights in bfloat16
|
124 |
trust_remote_code=True
|
125 |
-
)
|
126 |
-
|
127 |
-
tokenizer = transformers.AutoTokenizer.from_pretrained(name, trust_remote_code=True)
|
128 |
-
|
129 |
-
pipe = pipeline('text-generation', model=model, tokenizer=tokenizer, device='cuda:0')
|
130 |
-
|
131 |
with torch.autocast('cuda', dtype=torch.bfloat16):
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
# Training Data
|
142 |
-
We release most (95.79%) of our training data corpus as [BUT-Large Czech Collection](https://huggingface.co/datasets/BUT-FIT/BUT-LCC).
|
143 |
-
|
144 |
-
|
145 |
-
# Our Release Plan
|
146 |
-
| Stage | Description | Date |
|
147 |
-
|---------------|----------------|----------------|
|
148 |
-
| 1 | 'Best' model + training data | 13.03.2024
|
149 |
-
| 2 | All checkpoints + training code| 10.04.2024 Checkpoints are released. Code won't be released. We've used LLM foundry with slight adjustments, but the version is outdated now.
|
150 |
-
| 3 | __Benczechmark__ a collection of Czech datasets for few-shot LLM evaluation **Get in touch if you want to contribute!** | 01.10.2024
|
151 |
-
| 4 | Preprint Publication |
|
152 |
|
153 |
-
|
154 |
-
|
155 |
|
156 |
-
|
157 |
-
This is a probabilistic model, it can output stochastic information. Authors are not responsible for the model outputs. Use at your own risk.
|
158 |
|
159 |
-
|
160 |
-
This work was supported by NAKI III program of Ministry of Culture Czech Republic, project semANT ---
|
161 |
-
"Sémantický průzkumník textového kulturního dědictví" grant no. `DH23P03OVV060` and
|
162 |
-
by the Ministry of Education, Youth and Sports of the Czech Republic through the e-INFRA CZ (ID:`90254`).
|
163 |
-
|
164 |
-
# Citation
|
165 |
-
```bibtex
|
166 |
-
@article{benczechmark,
|
167 |
-
author = {Martin Fajčík, Martin Dočekal, Jan Doležal, Karel Beneš, Michal Hradiš},
|
168 |
-
title = {BenCzechMark: Machine Language Understanding Benchmark for Czech Language},
|
169 |
-
journal = {arXiv preprint arXiv:insert-arxiv-number-here},
|
170 |
-
year = {2024},
|
171 |
-
eprint = {insert-arxiv-number-here},
|
172 |
-
archivePrefix = {arXiv},
|
173 |
-
primaryClass = {cs.CL},
|
174 |
-
}
|
175 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
176 |
```
|
|
|
1 |
---
|
|
|
|
|
|
|
|
|
2 |
language:
|
3 |
- cs
|
4 |
+
base_model:
|
5 |
+
- BUT-FIT/csmpt7b
|
6 |
+
library_name: transformers
|
7 |
+
datasets:
|
8 |
+
- BUT-FIT/CzechRAGSummarization
|
9 |
---
|
10 |
+
Training Dataset: Semant Search Summarization Dataset
|
11 |
+
Training configuration
|
12 |
+
```yaml
|
13 |
+
tbd.
|
14 |
+
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
|
16 |
+
Example:
|
17 |
+
```python
|
18 |
+
input_args = {
|
19 |
+
"query": "výlet na Praděd ze Sobotína a okolí",
|
20 |
|
21 |
+
"input": "Výsledek [1]: Až do Domašova (8 km) mož- no dvakrát denně užíti pošty (za 11/4 hod.); vozem z Frýval- dova až do Waldenburgu (host. Schubertův 12 km, 3 hod. pě- šky, povoz. 11/2 hod.). Odtud dále dle bělozelených značek silně stoupající cesta 23/4 hod. na Praděd podle Vys. Vody k vodopádu Huhfallu (vysoký, ale mívá málo vody); kdo chce jíti pohodlněji, jde dále ještě sjízdnou cestou až do Jablonné (Gabel) a odtud dle značek k Švýcárně. Sestup po případě do Karlsbrunnu (v. níže č. 2.) neb Sobotína (str. 190.), přes Mysl Františkovu do Koutů (viz str. 191.), nebo přes Šerák do Ram- zové (61/2 hod., str. 181.). 1. Dvoudenní pochod Jesení- kem můžeme si z Frývaldova zaříditi tak, že jdeme z Frý- valdova a Rejvizu (také přes Houk a Zlatou Kupu nebo přes oba vrchole viz č. 5., 6 níže) (modrožluté značky k Plesu a přes poutní místo sv Marka a Marii Pom. na Edel- štejn a do Cukmantlu nocl 2. dne z Cukmantlu na Biskup- skou Výšinu a Slezským Švý- carskem (Wid Grund) do Hlu- cholazů. — 2. Na Praděd a Karl. Lázně (Karlsbrunn) vyžaduje výlet přes Waldenburg (3 hod.) se vzestupem na Praděd (+234 hod.). Výstup dosti příkrý. S Praděda do Karl. Lázní 11/2 hod. (Špičky červ. trojúh. smě řují na Praděd. Špičky jino- barev. trojúh. vyznačují se- stup). Až do Waldenburgu (14 km) dobře sjízdná silnice. Jde- me mal. dolinou Bělé Buchels- dorfem a Adelsdorfem 34 hod. do bystřinou oživeného dolu až ke kostelu ve Sv. Tomáši (Thomasdorf), kde počíná sil- nice nová serpentinovitě ve- doucí do Winkelsdorfu (v pr.) Jdeme starou silnicí přímo dále dle žlutých značek (zkra- cujeme si serpentiny) vzhůru\nVýsledek [2]: přes Franzenshöhe, s níž dále no 2 hod.). Odtud lesem značen. vede cesta znač. na Schafhäuser, cestou (průvodčí příjemný) k hra- neundorfskou boudu (Neundorfer ničnému kameni č. 83 a na hřeben B.), na Malém Sněžníku a k Svý- Mal. Sněžníku po hřebenu po- carství na hřebenu (3 hod.). Dále vlovně vzhůru a přímo v pr. k po hřebenu ještě 3/4 hod. b) Přes rozhl. na Vel. Sněžniku, odtud pak dolů k Švýcarství, — f) Přes Wölfelsgrund. Stejným směrem jako při a) do Lauterbachu, přímo Klappersteine. Velmi pěkná partie však dále přes Neundorf a Urnice přes Schöntal a Neissbach 2 hod. k Wölfelsfallu, odtud dále viz na nejjižnější bod hřebene, kde níže při Langenau. (Celkem 5 hod.) s balvanitého pole nabízí se krás- — c) Jako při a, b) do Lauterbachu, ný rozhled (u hranič. kam. č. 115) avšak vsi podle potoka vzhůru na celé hrabství kladské, do Čech až na hřeben při úpatí Malého i Moravy; přes hrabství viděti až Sněžníka (hraniční kámen II. 83), na Krkonoše. Také od hranič. ka- zde v pr. přes Thanndorfskou mene č. 118 je pěkný rozhl. (na cestu okolo Mal. Sněžníka (1348 kuželovitý kopec s hradem Scham- m), ještě 11/4 hod. k Švýcar- bachem; bílé šipky ukazují k pra- ství (v pr. Velký Sněžník s rozhl. menům Nisy). S Klappersteinu a vzhůru na vrchol. — e) Přes (1138 m) po hřebeni podle hranice Thanndorf. Z Mittelwalde nejpo- zemské dojdeme k vrchoii Hled- hodlnější výstup 5 hod. s pozvol- sebe (Flammenpappel 1185m 4 hod.) ným stoupáním Buď Gläsendor- a k hraničnému kameni č. 83, od- fem nebo Schöntalem do Hor. kudž pokračujeme (jako při d). Thanndorfu k mysl. (až sem sjízd- Západním nízkým bokem Bystřického hřebene vede nás trať podle Nisy (v pr.) k severu míjíc Herzogswald a Schön- feld se zámkem (v 1.) do zastávky Ebersdorfu (nádr. rs.), velmi vhodného východiště na Kladský Sněžník. Do Wöl- brechta až k vozovce v pr. odbo- felsdorfu 8 km (povoz až k Wäl- čující, jež okolo Heubergu vede felspallu; většinou beze stínu ra- na silnici od Seitenbergu prichá- dno jeti za 4 mk; omnibus 1.20 zející, touto dále 21/2 hod. k Švý- mk). Ves Wölfelsgrund (520—600 carství. m) je oblíbené Ls. Host. nejlepší d) Přes Pannu Marii Sněžnou Z. Forelle, Z. guten Laune (zvlášť Vých. od host. z. gut. Laune vede oblíbený, pok. 75 pf až 3 mk, T. nová označ. cesta 1 hod. k pout. d'h 1.50, také v zimě otevř. jízdy kostelíku P. Marie Sněžné na Špi- rohačkami: několik vill s pokoji). čatém vrchu (Spitziger Berg 816 Tyroler Hof (dobrý). Byty týdně 6—30 mk. Bystřina Wölfel tvoří rs. z. schön. Aussicht, pok. 1 až 2 mk, Ls., slabší host, z. Maria tu malebný vodopád Wölfelsfall Schnee. Rozhledna poskytuje roz- 30 m vys. (přístup zahr. host. Z. hled na hrabství a hřeben Klad- g. Laune; vstup na můstek, v pr. ského Sněžníku a náleží k nej- 42 stupňů vzhůru a 82 dolů k vyhl. krásnějším v Kladsku. Odtud proti vodopádu). Z Wölfelsgrundu k vých. podle mysl. (průvodčí pří- možno voliti různý směr: a) Stará jemný) přes silnici prince Al- cesta, dosti příkrá údolím Wölfly brechta a přímo dále mezi Heu- 2—21/2 hod. k Švýcarství na Sněž- bergem (v pr.) a Černou Horou níku, — b) Mírněji stoupající sil- (v 1.), pak k S., po 1/4 hod. opět nicí; u mostu v horní vsi na pr. k vých., za 1/4 hod. jsme na pě- břeh Wölfly a přímo k Malému šině »Schlegelské« zvané (ukaz.) Sněžníku dále po hřebenu až k Švý- touto na vrchol (3 hod.). carství 2—21/2 hod. e) Přes Puhu. Krásnou silnicí c) Nejpohodlněji od konce vsi za mysl. novou silnicí Prince Al- prince Albrechta až k host. Puhu,\nVýsledek [3]: Odbočka z moravsko-slezské horské dráhy vede dále údolím Desné pod Brousnou do Šumperka, zněmč. města, jež je hlavním sídlem mor. plátenictví, dále podle zast. Vykýřovic na stanici Petrovice-Losín, kdež se tratě děli��. Krátká místní dráha vede do Sobotína, delší tratí přes Rejpotín, Losín lázně, Losín Velký, Wiesenberk a Rejpotice do Koutů (Reutenhau). Na Praděd vystupujeme tu čtyřmi směry: stoupáme hodinu lesem podle a) Ze Sobotína na Praděd, Merty (pozor! po 1/4 hod. stou- Sobotín, (Zöpten, host. u nádr., pání vděčno odbočiti k místu, kde 10 min. od stanice host. u hutní- Merta z úzké sluje vyvirá; místo ka) rozkošně položená ves s hu- se skvostným rozhledem). Opusti- těmi bar. Kleina. Na blízku (11/2 vše Mertu. vinutou cestou vzhůru hod.) Rauchbeerstein (790 m) se jsme za 4 hod. na hřebeni. u Mys- skvostnou vyhl. Žlutě a modře livny Františkovy (1183 m) ještě znač. cesta vede od host. u hut- 2 hod. od Švýcarství na Pradědu). nika. — Žlutě a zeleně značkovaná Je tu 7 loží, úředníci panští mají cesta (zelená ukazuje) vede nás přednost). Krásná poloha a vy- přímo od nádraží (ves zůstane hlídka, zejména od bodu 5 min. v pr.) do Teplice (11/4 h. Wermsdorf vzdálen. na Praděd, Vys. Holi, host. Kubíčkuv) a dále údolím stále Medvědí Kameny, Petrštýn, do užším do malébné kotliny, kde obrátíme se ostře v pr. a příkřeokolních úvalů na Teplice, holé\nVýsledek [4]: Ze Sobotína do Jeseníku. a) Ze Sobotína na Praděd. Mertu, vinutou cestou vzhůru Sobotín (Zöptau. host. u nádr., jsme za 4 hod. na hřeben 10 min. od stanice host. u hut- u Myslivny Františkovy (1183 níka), rozkošně položená ves m, ještě 2 hod. od Švýcarství s hutěmi. Na blízku (11/2 hod.) na Pradědu). Je tu 7 loží Rauchbeerstein (790 m) se úředníci panští mají přednost. skvostnou vyhl. žlutě a modře Krásná poloha a vyhlídka, ze znač. cesta vede od hostince jména od bodu 5 min. vzdál. u hutníka. — Žlutě a zeleně na Praděd, Vys. Holi, Medvědí značkovaná cesta (zelená uka- Kameny, Petrštýn, do okolních zatel) vede nás přímo od nádra- úvalů, na Teplice, holé hřebe- ží (ves zůstane v pr.) do ny Májové Hory (1381 m). Ze- Teplice (Wermsdorf, 11/4 hod., leně a červ. znač. cesta vede host. Kubíčkův) a dále údolím dále na hlavní hřeben Májové stále užším do malebné kotli- Hory a po hřebenu červeno- ny, kde obrátíme se ostře v pr. žluté značky přes Vys. Holi a příkře stoupáme hodinu le- !1464 m), Petrštýn (1446 m) na sem podle Merty (pozor! po 1/4 vrchol Praděda (1490 m) a dále hod. stoupání vděčno odbočiti ku Švýcárně (1364 m) pod Ma- k místu, kde Merta z úzké lým Pradědem. (6 hod. Další sluje vyvírá; místo se skvost- viz str. 182.) Jiná cesta vede ným rozhledem). Opustivše od Myslivny (zeleně-bílé znač.)\nVýsledek [5]: nici; z Velké Moravy možno hřeben Sněžníku přes Malý Sněžník až na skalí Klapper- nad kostelem 1/2 km odbočiti v pr. a tak si kus nadejíti. steinu a prohýbá se pod ním údolí Moravy a nejzáze roze- Kdo chce do Králík, jde jen silnicí až do Červ. Potoka. znáváme Králíky s pozadím Suchého Vrchu. Srovn. květe- Zde přes trať a silnicí beze nu na str. 11. a popis na str. stínu do Králík. 7. Sestup: Nechceme-li voliti b) Do Starého Města mor. vede bíločerv. označená cesta k sestupu některý zpětný směr do Wölfelsgrundu (21/2 hodiny, 3 hod. od Švýcarství přes značky zelenobílé, přes Heu- Stříbrnice nebo přes N. Rum- burk (od rozhl. k Švývarství berg černobílé) nebo některý směr na Mittelwalde (str. 165.) dle bíločerných značek). Může se odtud (viz níže trať III b) přes Thanndorf (červenobílé značky) nebo Klapperstein a prodloužiti pochodem na Pra- Neissbach (černobílé zn., 41/2 děd. Taktéž sestup c) do Ram- hod.), volte směr do Čech ne- zové na moravsko-slezskou dráhu bíle a žlutě označ. ce- bo Moravy: a) Údolím Moravy stou přes Fichtlich, odtud dle do Červ. Potoka k stanici (3 hod.), po případě dle zelenobí- značek žlutomodrých, 81/2 hod., lých značek přes H. Lipku do možno prodloužiti pochodem Červ. Potoka nebo až do Krá- na Šerák a Praděd. lík (4 hod.). Morava sbírá se Jiné značené cesty vedou od ze dvou pramenů na již. sva- rozhl. do Seitenberka (odtud hu Sněžníka. Serpentina kolem na Javorník nebo Kladsko, vrchu (2 hod.) vedoucí (6 min. znač. bíločerné, 31/4 hod.), také pod vrchem odbočuje cesta k možno do Seitenberka k nádr Tvarohovým Dírám, 3 jeskyň- přes Johannesberk (černobílé kám s hnízdy vápence v rule) znač.) nebo přes Husí Chřtán a Klessengrund (3 hod.) nebo jde podle pramenů do údolí: po 2 hod. konec lesa. Mezi do Vilémova dle bílomodrých domky Horní, Velké a Dolní značek přes Sněžnou Jámu a Moravy dospějeme až k sta- Kamnici (21/4 hod.). Brzy za Ebersdorfem objeví se nám půvabná dolina pod Bystřickým Hřebenem (v 1.), v níž leží nedaleko stanice (10 min.) Lázně Langenau, jež v 1. v údolí malebně jsou rozloženy. Nádr. rs. Ves, 10 min. vzdál., má železité i slatinné Lz. s vodoléčeb. ústavem a pěknými sady. Bývá tu přes 1200 hostů. Hostinec: Láz. dům. Jägerhof, Annahof, Rupprecht. Rs. ve ville Urban a Merkur se zahradou. Láz. taxa. Pitné želez. kyselky. V nejbližším okolí pěkné vycházky na Grafenfichte (20 min. s pěkným rozhl.), Scharfe Ecke (15 min.) v 1. od sil- nice do Bystřice, Krähenberg (pěkná vyhl.), Belvedere (pěk- ná vyhl.), Waldhäuschen (1/4 hod.). Také některé výlety odtud přes Bystřický Hřeben k Čes. Hřebenu jsou půvabné, na př. přes Kavčí Horu (Dohlen-\nVýsledek [6]: blíže tratě Venušin Vrch a před samým Bruntálem v levé Köhlenberg. Bruntál stan., něm. město, hl. sídlo něm. ryt. řádu, jen v okolí mnoho statků má, vedle znamenitého zámku s krásný mi zahradami. Vnucená správa republ. Úřady státní v něm rukou. Čechů ne celá 2 . Pomník Josefa II. odstraněn teprv po četných demonstracích. Město bylo teprve za Přemysla 1 Němci osazeno. Něm. pojm. Freudental je přezvisko z nov. do by. Průmysl plátenický a bavlnický. Real. školy. Karlova, odtud dle Roz. 1. Venušin vrch — Roudno. Na tyto mladší vyvřeliny vede hod. k Alfrédově chýši, malému silnice k J. V. do Karlovce, ale útulnému host. (levný nocl a k Jelení Studánce na hřebe z které odboč. v pr. cestou na novou cestu od Skřítku k Ovči Nové Pláně dle černo-červ. nu. — b) Drahou jen do An znač. 11/2 hod. na Venušin Vrch dělské Hory, odtud dle žluto (656 m) přes Thierberg (692 m) černých zn. přes Dürseifen d do N. Plání; za těmito se přiblí- Karlovy Studánky (Karlovýc) žíme ke Karlovci (v pr.), jdeme lázní); lz. s uhličitou vodou však přímo do Roudné a vy- železitou v lesnaté kraj.; léčba stoupíme na vrchol Roudná žinčicí. V nov. době zařízen (780 m). Návrat přes Karlovec. zdokonaleno. 2. Köhlerberg (674 m) jihozáp. Sem možno také oklikou: dra od města je znamenán poutni- ckým kostelíkem. hou ke Krnovu, na Nové Her vinovy a zde odbočkou do 3. Annenská Hora. Odb. trati, Vrbna (pěšky dle černomodr vedoucí do Morávky, Karlova, až do stan. And. Hora, odkudž znač. 2 km), odkudž do Karl St. jede pošta. Z K. St. dle pěkná alej vede na vrch s býv. poutnic. kostelíkem a rs. Se- černočerv. zn. (cestou dle ukaz stup dle modrozel. znač. k Fi- v 1. k vodopádu Opavice 314 hod. na Praděd. Kdo nechce losofské Skále. přímo na Pr. může odchýlit 4. Praděd. a) Drahou až do Morávky — Karlova. V Mo- se z cesty černočerv. znač. dle rávce výr. dřev. žebříků růz. znač. černožlutých v 1. k Ovčí- pat. systémů. Z Morávky do nu (21/2 hod.). Opouštíme Bruntál hl. tratí podle Spillendorfu (vl.) do stan- Hervinovy-Dachov (nespr. Heřminovy nebo Heřmanice — Neu Erbersdorf nebo Friedersdorf), vsi tkalcovské s výr. zboží stávkového a pleteného, kde odbočuje místní dráha přes Nové Hervinovy do Vrbna, něm. města nad Opa- a pěkným got. kostelem. vicí s odb. školou pro zpraco- Z Vr. na Praděd možno jíti vání dřeva, výr. dřev. zboží, a) na (modroč. zn.) Karl. Stu- nábytku z kořenů, průmysl. dánku (viz výše č. 4 b.) nebo tkalc. a stávkařským, staré b) romant. údolím stř. Opavice doly na olovo a měď. Se svole- přes Buchbergstál a Jablonné ním les. úř. ve Vr. možno vy- (na haldách nerosty), (tur. host.) nebo c) oklikou celého Jesení- jíti na Zám. Vrch ke zříc. St. Fürstenwaldu. S Vr. souvi- ku přes Rejviz a Frýval- sí Einsiedel s vodoléč. ústavem dov; modročerv. zn. vedou\nVýsledek [7]: Z Petrovic odbočujeme od tratě sobotínské k S. přes Ra otín do Lázní Losína (za nimiž násl. zast. Velký Losín), jež známy jsou výbornou teplicí sírnou, podobnou oné v Pí- ťanech a Teplicích Trenčinských. Pěkná hornatá krajina poskytuje vlídný pobyt. Dobře zařiz. láz. dům, vodoléčebný ústav. Pití ovčí žinčice. Také odtud lze zaměřiti na Praděd: a) Z Losína buď k nádraží Dreistein (vyhl., 928 m) a od- tud dále dle těchže nebo nebo Sobotíně anebo přímo přes modročerv. zn. do Rejpotic (3 Maršovice do Teplic a dále dle hod.) nebo kratčeji přes Pri- nebo b) jako ze Sobotína, miswald (778) za 2 hod. Dále až 8 hod. viz níže. b) Do Rejpotic a Koutů: zlutě a červ. značk. cestou na Minuvše Viesenberk a Rejpotice (viz výše) stihneme do konečné stanice Kouty nad Děsnou (Winkelsdorf), kteréž jsou velmi vděč- nou výchozí stanicí na hlavní pásmo Pradědu. Odtud vy- jížděl před válkou autobus přímo přes sedlo směrem na Frý- valdov (r. 1922 nebyl ještě znovuzaveden). Pod Červ. Hůrou křižuje silnice tato, v četných zákrutech se vinoucí, hlavní hřeben; v pr. po něm je skoro stejně daleko na Praděd, jako v 1. na Šerák. Pěší turista sleduje z Koutů tyto směry: graben) a velice malebnou, ale 1. Praděd. Od stanice (Dům obtížnou partií téhož v 1. na uristů) zeleně a bíle znač. ce- Praděd (31/2 hod.) nebo přímo sta vede pod mysl. údolím dále podle Děsné k myslivně mladé ještě Děsné silnicí Frý- Františkově (1/2 hod.; v 1. od valdovskou 21/2 km, načež ji rozc. dle červených a bílých opouštíme v pr., jdouce 1/2 km značek přímo k Švýcárně (134 k rozc., v pr. podle Děsné dále hod.). do Kamenného Úvalu (Stein\nVýsledek [8]: Ze Šumperka [M.-Schönberg] 381 m, 12.500 ob. 1. na Heukoppe bílo-žluté [žluté] 78 m. [11/4I; 2. na Karlovu Výšinu bílo-žluté [žluté] 155 m. [21/]; 3. na zříceniny Nov. Zámku přes Bratrušov, Velvice bílo-modré [modré] 160 m. [21/2]; 4. do Rejchartic bílo-žluté [žl.] 135 m. [21/4l; 5. na Bürgerstein bílo-červené [červené]; 6. na Fichtberk bílo-zelené [zelené] 115 m. [2]; 7. na Kokerstein bílo-modré [modré] 65 m. [1] u sanatoria počínají; 8. k Hraniční studni a přes Pfitzenstein na Osykovské Výšiny a Fichtberk 743 bílo-zelené Iz.J (21/2). Š. je moderně stavěn, zvl. v novější části. Má přímé, čisté a výstavné ulice i náměstí. Prů- myslově je velmi čilý. Pěkná radnice. — Nejlepší pohled na Š. je od host. Bergu. * * Ze Švýcarství [Schweizerei] na M. Pradědu 1311 m. 1. na Praděd modro-červ. [červ.] 49 m. I3/4I; 2. do Kamenného Úvalu, divoce romantického údolí, přes Praděd modro-červené [červené], s Pra- dědu červeno-bílé [bílé] 190 m. [3]; 3. do Kamenného Úvalu mimo Praděd modro- červené [červené], po 25 m. uchylují pr. modro- bílé, s nich po 22 m. na červeno-bílé [bílé] 182 m. [3]; 4. do Koutů červeno-modré, po 30 m. 1. na červeno-bílé [bílé] 165 m. [23/4]; 5. do Valdenburku mimo Vys. Vodopád čer- veno-modré [modré], po 5 m. pr. na zeleno- bílé [bílé] 155 m. [11/4]; 91\nVýsledek [9]: 1. Kladský Sněžník: Vzhůru[seifen (Neutznerův host.) k Mi- líři. — Od Milíře podle pramene cestou bíle znač. sestup červ. Adelinina vzhůru na hřebenovou označen. a) Pohodlněji, ač dále (4 cestu a touto na Sněžník. (Viz h.) z města k S. silnicí do Květ- str. 131). nova; u novorumburského 2. Praděd. Možno voliti trojí mostu v 1. do Nov. Rumburku, směr, pokaždé na některou sta- tímto vzhůru příkře k lesu a po- nici moravsko-slezské horské drá- dle kapličky s kříž. cestou k t. hy a odtud dále dle tratě IV.: a) zv. Milíři na úpatí Sněžníku (2 přes Koldštýn k vých. do Hei- hod.). — b) Z města k bělidlu, od- merlstálu, kde se u kříže cesty tud v 1. polní cestou přes písečné dělí; jdeme v pr. po úpatí Eber- jámy 3/4 hod. k posl. domkům Nov. šáru s krásnými pohledy na Klad- Rumburku a v 1. skrze Stuben-\nVýsledek [10]: IVb. Rudoltice—Lanškroun . . . . Rudoltice. Lanškroun 177. Lanškroun—Zámecký Vrch. Švédské Šance. Maria Cell. Anenské Studánky 178. Lanškroun—Suchý Vrch. Klocberg. Údolí Umučených. Výprachtická Lípa 179. Lanškroun—Buková Hora 180. Trať IV. (pokrač.). Rudoltice— Zábřeh . . . . . 180 Rudoltice. Krasíkov. Hoštýn. Zábřeh 180. Trať IVc. Zábřeh—Bludov. Hanušovice. Mi- kulovice. Hlucholazy. Krnov . . . . . . Bludov. Komňátka. Čes. Bohdíkov. Hanušovice. Kold- štýn—Vozka—Šerák. Ostružná. Ramzová 180. Ramzová— Šerák—Praděd 182. Ramzová—Klad. Sněžník 184. Dol. Lipová—Fichtlich. Kladský Sněžník. Přes Kopřivnou do Gräfenberku 184. Gotteshausberk. Hukovice—Vid- nava. Bernartice. Javorník 185. Frývaldov—Gräfen- berg 185. Domašov. Waldenburg. Praděd. Karlsbrunn 186. Dvoudenní pochod Jeseníkem. Z Frývaldova na Praděd a Karl. Lázně. Šerák. Praděd. Karlova Stu- dánka—Karl. Lázně. Křížový Vrch. Zlatá Kupa 186. Harik a Kaltenšten 187. — Z Frývaldova drahou na Sandhübel—Šupikovice, Mikulovice ve Slezsku. Cuk- mantl—Edelštejn. Výlety z Cukmantlu 187. Mikulovice— Krnov . . . . . . Hlucholazy. Před. Kupa. Střední Kupa. Čertova Kaza- telna. Třemošná—Osoblaha. Třemošná—Krnov 188. Kr- nov—Burgberk—Úvalno. Melzerberk 189.",
|
|
|
|
|
|
|
22 |
|
23 |
+
"chatgpt_summary": "Výlet na Praděd lze zrealizovat z několika tras, přičemž nejoblíbenější je cesta ze Sobotína přes Myslivny. Odtud se stoupá zeleně značkovanou cestou kolem Merty, což trvá přibližně 4 hodiny k hřebeni (1183 m) a dále na Praděd (1490 m), což zabere další 2 hodiny [4]. Pokud se chcete vydat z Lázní Losína, okružní trasa zahrnuje nádraží Dreistein a pokračuje přes Rejpotice a Kouty; celkově cesta zabere z Losína do Koutů asi 8 hodin [7]. Další nádherné výhledy se nabízejí ze Švýcárny, přičemž přístup k této vyhlídce je možný také z Frývaldova [8]. Existují také alternativní trasy směřující na Sněžník s různými obtížnostmi, které lze zvládnout během 2 až 5 hodin chůze [5]. Pokud toužíte po atraktivních výhledech a přírodě, Jeseníky a okolí s různými turistickými trasami nabízejí ideální prostředí pro výlety do přírody."
|
24 |
+
}
|
|
|
25 |
|
|
|
|
|
26 |
import torch
|
27 |
import transformers
|
|
|
28 |
|
29 |
+
model_name = "BUT-FIT/csmpt-6.7B-RAGsum"
|
30 |
+
tokenizer = transformers.AutoTokenizer.from_pretrained(model_name)
|
31 |
+
config = transformers.AutoConfig.from_pretrained(model_name, trust_remote_code=True)
|
32 |
+
|
33 |
+
formatted_input = f"""Shrň následující výsledky pro dotaz "{input_args['query']}".
|
34 |
+
|Výsledky|: {input_args['input']}
|
35 |
+
|Shrnutí|:
|
36 |
+
"""
|
37 |
+
|
38 |
+
device = "cuda" if torch.cuda.is_available() else "cpu"
|
39 |
|
|
|
|
|
40 |
model = transformers.AutoModelForCausalLM.from_pretrained(
|
41 |
+
model_name,
|
42 |
config=config,
|
|
|
43 |
trust_remote_code=True
|
44 |
+
).cuda()
|
|
|
|
|
|
|
|
|
|
|
45 |
with torch.autocast('cuda', dtype=torch.bfloat16):
|
46 |
+
inputs = tokenizer([formatted_input], return_tensors="pt").to(device)
|
47 |
+
del inputs['token_type_ids']
|
48 |
+
input_ids = inputs['input_ids']
|
49 |
+
outputs = model.generate(input_ids=input_ids,
|
50 |
+
max_new_tokens=16000,
|
51 |
+
top_p=0.95,
|
52 |
+
repetition_penalty=1.0,
|
53 |
+
do_sample=True,
|
54 |
+
use_cache=True)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
|
56 |
+
input_length = inputs['input_ids'].shape[1]
|
57 |
+
generated_text = tokenizer.decode(outputs[0][input_length:], skip_special_tokens=True)
|
58 |
|
59 |
+
print("RAG Summary:", generated_text)
|
|
|
60 |
|
61 |
+
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
62 |
|
63 |
+
Example of generated summary
|
64 |
+
```
|
65 |
+
Generated Output: Výlet na Praděd je populární a nabízí krásné výlety na vrchol nejvyšší moravské hory.
|
66 |
+
Je možné se pohybovat pěšky nebo pomocí značených tras ze Šumperska a dalších částí Jesenicka [1], na
|
67 |
+
které poskytují širokou škálu možností pro túry a horské procházky [2]. Tato trasa navíc vede po trase
|
68 |
+
šumperského vlaku, což je výhoda, protože není třeba platit za dopravu [3]. V Hrubém Jeseníku se navíc
|
69 |
+
nachází řada ubytovacích zařízení a dalších možností ubytování, kde je možné získat zázemí pro další
|
70 |
+
dobrodružství [4].
|
71 |
```
|