T5 Ctranslate2#

Ctranslate2 able to speed up some huggingface transformers models, https://opennmt.net/CTranslate2/guides/transformers.html#

Currently in Malaya, Ctranslate2 converter only support for T5 and Llama2.

This tutorial is available as an IPython notebook at Malaya/example/t5-ctranslate2.

[1]:
import os

os.environ['CUDA_VISIBLE_DEVICES'] = '0'
os.environ['TF_FORCE_GPU_ALLOW_GROWTH'] = 'true'
[2]:
import malaya
/home/husein/dev/malaya/malaya/tokenizer.py:214: FutureWarning: Possible nested set at position 3397
  self.tok = re.compile(r'({})'.format('|'.join(pipeline)))
/home/husein/dev/malaya/malaya/tokenizer.py:214: FutureWarning: Possible nested set at position 3927
  self.tok = re.compile(r'({})'.format('|'.join(pipeline)))

Load model in ctranslate2#

To convert to ctranslate2, just set use_ctranslate2=True,

malaya.translation.huggingface(use_ctranslate2 = True)

This going to pass vector arguments to malaya_boilerplate.converter.ctranslate2_translator,

def ctranslate2_translator(
    model,
    quantization: str = 'int8',
    device: str = 'cpu',
    device_index: int = 0,
    **kwargs,
):

You can read more about quantization and device at https://opennmt.net/CTranslate2/quantization.html

[3]:
ctranslate_model = malaya.translation.huggingface(use_ctranslate2 = True)
Loading the tokenizer from the `special_tokens_map.json` and the `added_tokens.json` will be removed in `transformers 5`,  it is kept for forward compatibility, but it is recommended to update your `tokenizer_config.json` by uploading it again. You will see the new `added_tokens_decoder` attribute that will store the relevant information.
You are using the default legacy behaviour of the <class 'transformers.models.t5.tokenization_t5.T5Tokenizer'>. If you see this, DO NOT PANIC! This is expected, and simply means that the `legacy` (previous) behavior will be used so nothing changes for you. If you want to use the new behaviour, set `legacy=False`. This should only be set if you understand what it means, and thouroughly read the reason why this was added as explained in https://github.com/huggingface/transformers/pull/24565
Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.
Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.
Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.
[4]:
ctranslate_model_gpu = malaya.translation.huggingface(
    use_ctranslate2 = True,
    quantization = 'int8_bfloat16',
    device = 'cuda',
)
Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.
[5]:
model = malaya.translation.huggingface()
_ = model.eval()
Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.

Translate#

def generate(self, strings: List[str], from_lang: str = None, to_lang: str = 'ms', **kwargs):
    """
    Generate texts from the input.

    Parameters
    ----------
    strings : List[str]
    from_lang: str, optional (default=None)
        old model required `from_lang` parameter to make it works properly,
        while new model not required.
    to_lang: str, optional (default='ms')
        target language to translate.
    **kwargs: vector arguments pass to huggingface `generate` method.
        Read more at https://huggingface.co/docs/transformers/main_classes/text_generation

        If you are using `use_ctranslate2`, vector arguments pass to ctranslate2 `translate_batch` method.
        Read more at https://opennmt.net/CTranslate2/python/ctranslate2.Translator.html?highlight=translate_batch#ctranslate2.Translator.translate_batch

    Returns
    -------
    result: List[str]
    """
[6]:
hansard = """
\n26 DR.27.10.2021 \n\n \nUSUL MENANGGUHKAN MESYUARAT  \n\nDI BAWAH P.M. 18(1) \n \n\nPENJUALAN ASET GAS PETRONAS DI AZERBAIJAN \n\n \n\n11.33 pg. \n\nDato’ Seri Anwar bin Ibrahim [Port Dickson]: Tuan Yang di-Pertua, saya \nmohon mengemukakan usul di bawah Peraturan Mesyuarat 18(1) dan 18(2) Peraturan-\nperaturan Majlis Mesyuarat Dewan Rakyat seperti berikut: \n\n“Bahawa Dewan yang bersidang pada hari ini merundingkan \nlaporan bahawa Petronas telah menjual aset gas di Azerbaijan dengan \nharga hampir RM10 bilion berikutan desakan kerajaan menaikkan \nbayaran dividen Petronas sebanyak RM25 bilion kepada kerajaan bagi \ntahun 2021.” \n\n \nPerkara ini adalah perkara tertentu kerana penjualan aset gas di Azerbaijan \n\nbernilai RM10 bilion dan juga pembayaran dividen kepada kerajaan sebanyak RM25 bilion \nbagi tahun 2021 adalah berbahaya dan menjejaskan masa depan Petronas. Terkait \ndengan― sedikit penjelasan.  Kerana tindakan seperti ini telah menyebabkan J.P. Morgan \nmengeluarkan Petronas dari ESG Emerging Market Bond Index dan ESG Asia Credit \nIndex.  \n\nOleh itu, perkara itu perlu disegerakan kerana Petronas mengalami defisit \nberikutan pembayaran dividen berlebihan sejak tahun 2018 sehingga kini yang memaksa \nPetronas menjual aset atau meminjam lebih banyak dana luar negara bagi menampung \naliran tunai.   \n\nIni diperkukuh dengan kenyataan Tengku Muhammad Taufik, CEO Petronas, “If \nthere is a policy shift but it comes too suddenly or too slowly, not only Petronas but the \nentire Malaysian economy could be put at risk, with regards to our energy mix.” \n\nIni perkara berkenaan dengan kepentingan orang ramai, malah seluruh ekonomi \nnegara, kerana Petronas adalah institusi penting ekonomi negara dan sewajarnya \ndiperkukuh kekuatannya dan tidak dilemahkan penarafan syarikat. Kemampuan untuk \nmelabur bagi menjana keuntungan masa depan yang mampu untuk membayar dividen \nyang munasabah kepada kerajaan demi kepentingan rakyat. Dengan tambahan RM7 \nbilion tahun ini, hasil Petronas akan berjumlah RM44.8 bilion atau 18 peratus daripada \npendapatan kerajaan bagi tahun 2021 daripada RM37.8 bilion sebelumnya. \n\nJadi, mohon persetujuan Tuan Yang di-Pertua untuk dibahaskan. [Tepuk] \n\nTuan Yang di-Pertua: Terima kasih Yang Berhormat. Sebenarnya Yang \nBerhormat perlu melengkapkan teks Yang Berhormat dan cuma dibaca teks tersebut \nmengikut peraturan. Akan tetapi, tak apa.  \n\nAhli-ahli Yang Berhormat, saya telah menerima satu pemberitahu usul di bawah \nPeraturan Mesyuarat 18(1) oleh Yang Berhormat Port Dickson, Ketua Pembangkang pada \nhari Isnin, 25 Oktober 2021. Teks usul itu adalah seperti yang dibacakan tadi dengan \nsedikit tambahan oleh Ahli Yang Berhormat Port Dickson sebentar tadi.  \n\nBagi membolehkan perkara ini ditimbangkan oleh Majlis Mesyuarat, saya \nhendaklah berpuas hati bahawa perkara yang dibangkitkan oleh Yang Berhormat itu \nmematuhi tiga syarat seperti mana biasalah iaitu: \n\n(i) perkara tertentu; \n\n(ii) bagi kepentingan orang ramai; dan \n\n(iii) berkehendak disegerakan. \n\n\n
"""
[7]:
code = """
`Untuk menggunakan numpy, pertama, Anda perlu menginstalnya melalui pip. Anda dapat melakukannya dengan menjalankan perintah `pip install numpy` di terminal Anda.
Setelah numpy terinstal, Anda dapat mengimpor modul numpy dengan menambahkan baris `import numpy as np` di awal program Anda.
Berikut adalah contoh beberapa operasi dasar numpy:
``` python
import numpy as np
# membuat array numpy dari list
my_list = [1, 2, 3, 4, 5]
my_array = np.array(my_list)
# membuat array numpy dengan rentang nilai tertentu
my_range = np.arange(0, 10, 2) # nilai awal, nilai akhir, dan loncatan
# membuat array numpy dengan nilai acak
my_random_array = np.random.rand(3, 3) # 3 baris dan 3 kolom
# mengakses elemen array numpy
print(my_array[0]) # mengakses elemen pertama
# melakukan operasi matematika pada array numpy
my_array = my_array + 1 # menambah setiap elemen dengan 1
my_array = my_array * 2 # mengalikan setiap elemen dengan 2
# mengubah bentuk array numpy
my_array = np.reshape(my_array, (2, 5)) # menjadi array 2D dengan 2 baris dan 5 kolom
```
Itulah beberapa operasi dasar numpy. Anda dapat menemukan dokumentasi resmi numpy di https://numpy.org/doc/stable/.
"""
[8]:
s = """
Chain-of-Thought Prompting Elicits Reasoning
in Large Language Models
JasonWei Xuezhi Wang Dale Schuurmans Maarten Bosma
Brian Ichter Fei Xia Ed H. Chi Quoc V. Le Denny Zhou
Google Research, Brain Team
{jasonwei,dennyzhou}@google.com
Abstract
We explore how generating a chain of thought—a series of intermediate reasoning
steps—significantly improves the ability of large language models to perform
complex reasoning. In particular, we show how such reasoning abilities emerge
naturally in sufficiently large language models via a simple method called chain-ofthought
prompting, where a few chain of thought demonstrations are provided as
exemplars in prompting.
Experiments on three large language models show that chain-of-thought prompting
improves performance on a range of arithmetic, commonsense, and symbolic
reasoning tasks. The empirical gains can be striking. For instance, prompting a
PaLM 540B with just eight chain-of-thought exemplars achieves state-of-the-art
accuracy on the GSM8K benchmark of math word problems, surpassing even
finetuned GPT-3 with a verifier.
A: The cafeteria had 23 apples originally. They used
20 to make lunch. So they had 23 - 20 = 3. They
bought 6 more apples, so they have 3 + 6 = 9. The
answer is 9.
Chain-of-Thought Prompting
Q: Roger has 5 tennis balls. He buys 2 more cans of
tennis balls. Each can has 3 tennis balls. How many
tennis balls does he have now?
A: The answer is 11.
Q: The cafeteria had 23 apples. If they used 20 to
make lunch and bought 6 more, how many apples
do they have?
A: The answer is 27.
Standard Prompting
Q: Roger has 5 tennis balls. He buys 2 more cans of
tennis balls. Each can has 3 tennis balls. How many
tennis balls does he have now?
A: Roger started with 5 balls. 2 cans of 3 tennis balls
each is 6 tennis balls. 5 + 6 = 11. The answer is 11.
Q: The cafeteria had 23 apples. If they used 20 to
make lunch and bought 6 more, how many apples
do they have?
Model Input
Model Output Model Output
Model Input
Figure 1: Chain-of-thought prompting enables large language models to tackle complex arithmetic,
commonsense, and symbolic reasoning tasks. Chain-of-thought reasoning processes are highlighted.
36th Conference on Neural Information Processing Systems (NeurIPS 2022).
arXiv:2201.11903v6 [cs.CL] 10 Jan 2023
1 Introduction
Math Word Problems (GSM8K)
0
20
40
60
80
100
33
55
18
57
Solve rate (%)
Finetuned GPT-3 175B
Prior best
PaLM 540B: standard prompting
PaLM 540B: chain-of-thought prompting
Figure 2: PaLM 540B uses chain-ofthought
prompting to achieve new stateof-
the-art performance on the GSM8K
benchmark of math word problems.
Finetuned GPT-3 and prior best are from
Cobbe et al. (2021).
The NLP landscape has recently been revolutionized by
language models (Peters et al., 2018; Devlin et al., 2019;
Brown et al., 2020, inter alia). Scaling up the size of language
models has been shown to confer a range of benefits,
such as improved performance and sample efficiency (Kaplan
et al., 2020; Brown et al., 2020, inter alia). However,
scaling up model size alone has not proved sufficient for
achieving high performance on challenging tasks such as
arithmetic, commonsense, and symbolic reasoning (Rae
et al., 2021).
This work explores how the reasoning ability of large
language models can be unlocked by a simple method
motivated by two ideas. First, techniques for arithmetic
reasoning can benefit from generating natural language
rationales that lead to the final answer. Prior work has
given models the ability to generate natural language intermediate
steps by training from scratch (Ling et al., 2017)
or finetuning a pretrained model (Cobbe et al., 2021), in
addition to neuro-symbolic methods that use formal languages
instead of natural language (Roy and Roth, 2015;
Chiang and Chen, 2019; Amini et al., 2019; Chen et al.,
2019). Second, large language models offer the exciting
prospect of in-context few-shot learning via prompting. That is, instead of finetuning a separate
language model checkpoint for each new task, one can simply “prompt” the model with a few
input–output exemplars
"""

Hansard text#

[9]:
%%time

ctranslate_model.generate(
    [hansard],
    max_input_length=2048,
    max_decoding_length=2048,
    disable_unk=True,
)
CPU times: user 22.3 s, sys: 202 ms, total: 22.5 s
Wall time: 5.67 s
[9]:
['26 DR.27.10.2021\n\nUSUL MENANGGUHKAN MESYUARAT\n\nDI BAWAH P.M. 18(1)\n\nPENJUALAN ASET GAS PETRONAS DI AZERBAIJAN\n\n11.33 pg.\n\nDato\' Seri Anwar bin Ibrahim [Port Dickson]: Tuan Yang di-Pertua, saya mohon mengemukakan usul di bawah Peraturan Mesyuarat 18(1) dan 18(2) Peraturan-\nperaturan Majlis Mesyuarat Dewan Rakyat seperti berikut:\n\n"Bahawa Dewan yang bersidang hari ini merundingkan\nlaporan bahawa Petronas telah menjual aset gas di Azerbaijan dengan\nharga hampir RM10 bilion berikutan desakan kerajaan menaikkan\nbayaran dividen Petronas sebanyak RM25 bilion kepada kerajaan bagi\ntahun 2021."\n\n \nPerkara ini adalah perkara tertentu kerana penjualan aset gas di Azerbaijan\n\nbernilai RM10 bilion dan juga pembayaran dividen kepada kerajaan sebanyak RM25 bilion\nbagi tahun 2021 adalah berbahaya dan menjejaskan masa depan Petronas. Terkait\ndengan\' sedikit penjelasan. Oleh kerana tindakan seperti ini telah menyebabkan J.P. Morgan\nmengeluarkan Petronas dari ESG Emerging Market Bond Index dan ESG Asia Credit\nIndex.\n\nOleh itu, perkara itu perlu disegerakan kerana Petronas mengalami defisit\nberikutan pembayaran dividen berlebihan sejak tahun 2018 sehingga kini yang memaksa\nPetronas menjual aset atau meminjam lebih banyak dana luar negara untuk menampung\naliran tunai.\n\nIni diperkukuh dengan kenyataan Tengku Muhammad Taufik, CEO Petronas, "Jika\nada policy shift tapi ia datang terlalu tiba atau terlalu perlahan, bukan sahaja Petronas tetapi the entire Malaysian economy could be put at risk, berkenaan dengan energy mix kita."\n\nIni perkara berkenaan dengan kepentingan orang ramai, malah seluruh ekonomi\nnegara, kerana Petronas adalah institusi penting ekonomi negara dan sewajarnya\ndiperkukuh kekuatannya dan tidak dilemahkan penarafan syarikat. Kemampuan untuk\nmelabur bagi menjana keuntungan masa depan yang mampu untuk membayar dividen\nyang munasabah kepada kerajaan demi kepentingan rakyat. Dengan tambahan RM7\nbilion tahun ini, hasil Petronas akan berjumlah RM44.8 bilion atau 18 peratus daripada\npendapatan kerajaan bagi tahun 2021 daripada RM37.8 bilion sebelumnya.\n\nJadi, mohon persetujuan Tuan Yang di-Pertua untuk dibahaskan. [Applause]\n\nTuan Yang di-Pertua: Terima kasih Yang Berhormat. Sebenarnya Yang Berhormat perlu melengkapkan teks Yang Berhormat dan hanya dibaca teks tersebut\nmengikut peraturan. Akan tetapi, tak apa.\n\nAhli-ahli Yang Berhormat, saya telah menerima satu pemberitahu usul di bawah\nPeraturan Mesyuarat 18(1) oleh Yang Berhormat Port Dickson, Ketua Pembangkang pada\nhari Isnin, 25 Oktober 2021. Teks usul itu adalah seperti yang dibacakan tadi dengan\nsedikit tambahan oleh Ahli Yang Berhormat Port Dickson sebentar tadi.\n\nBagi membolehkan perkara ini ditimbangkan oleh Majlis Mesyuarat, saya\nhendaklah berpuas hati bahawa perkara yang dibangkitkan oleh Yang Berhormat itu\nmematuhi tiga syarat seperti biasalah iaitu:\n\n(i) perkara tertentu;\n\n(ii) bagi kepentingan orang ramai; dan\n\n(iii) berkehendak disegerakan.\n\n\n']
[10]:
%%time

ctranslate_model_gpu.generate(
    [hansard],
    max_input_length=2048,
    max_decoding_length=2048,
    disable_unk=True,
)
CPU times: user 10.9 s, sys: 145 ms, total: 11 s
Wall time: 3.71 s
[10]:
['26 DR.27.10.2021\n\nUSUL MENANGGUHKAN MESYUARAT\n\nDI BAWAH P.M. 18(1)\n\nPENJUALAN ASET GAS PETRONAS DI AZERBAIJAN\n\n11.33 pg.\n\nDato\' Seri Anwar bin Ibrahim [Port Dickson]: Tuan Yang di-Pertua, saya mohon mengemukakan usul di bawah Peraturan Mesyuarat 18(1) dan 18(2) Peraturan-\nperaturan Majlis Mesyuarat Dewan Rakyat seperti berikut:\n\n"Bahawa Dewan yang bersidang hari ini merundingkan\nlaporan bahawa Petronas telah menjual aset gas di Azerbaijan dengan\nharga hampir RM10 bilion berikutan desakan kerajaan menaikkan\nbayaran dividen Petronas sebanyak RM25 bilion kepada kerajaan bagi\ntahun 2021."\n\n \nPerkara ini adalah perkara tertentu kerana penjualan aset gas di Azerbaijan\n\nbernilai RM10 bilion dan juga pembayaran dividen kepada kerajaan sebanyak RM25 bilion\nbagi tahun 2021 adalah berbahaya dan menjejaskan masa depan Petronas. Terkait\ndengan\' sedikit penjelasan. Oleh kerana tindakan seperti ini telah menyebabkan J.P. Morgan\nmengeluarkan Petronas dari ESG Emerging Market Bond Index dan ESG Asia Credit\nIndex.\n\nOleh itu, perkara itu perlu disegerakan kerana Petronas mengalami defisit\nberikutan pembayaran dividen berlebihan sejak tahun 2018 sehingga kini yang memaksa\nPetronas menjual aset atau meminjam lebih banyak dana luar negara untuk menampung\naliran tunai.\n\nIni diperkukuh dengan kenyataan Tengku Muhammad Taufik, CEO Petronas, "Jika\nada policy shift tapi ia datang terlalu tiba atau terlalu perlahan, bukan sahaja Petronas tetapi the entire Malaysian economy could be put at risk, berkenaan dengan energy mix kita."\n\nIni perkara berkenaan dengan kepentingan orang ramai, malah seluruh ekonomi\nnegara, kerana Petronas adalah institusi penting ekonomi negara dan sewajarnya\ndiperkukuh kekuatannya dan tidak dilemahkan penarafan syarikat. Keupayaan untuk\nmelabur bagi menjana keuntungan masa depan yang mampu untuk membayar dividen\nyang munasabah kepada kerajaan demi kepentingan rakyat. Dengan tambahan RM7\nbilion tahun ini, hasil Petronas akan berjumlah RM44.8 bilion atau 18 peratus daripada\npendapatan kerajaan bagi tahun 2021 daripada RM37.8 bilion sebelumnya.\n\nJadi, mohon persetujuan Tuan Yang di-Pertua untuk dibahaskan. [Applause]\n\nTuan Yang di-Pertua: Terima kasih Yang Berhormat. Sebenarnya Yang Berhormat perlu melengkapkan teks Yang Berhormat dan hanya dibaca teks tersebut\nmengikut peraturan. Akan tetapi, tak apa.\n\nAhli-ahli Yang Berhormat, saya telah menerima satu pemberitahu usul di bawah\nPeraturan Mesyuarat 18(1) oleh Yang Berhormat Port Dickson, Ketua Pembangkang pada\nhari Isnin, 25 Oktober 2021. Teks usul itu adalah seperti yang dibacakan tadi dengan\nsedikit tambahan oleh Ahli Yang Berhormat Port Dickson sebentar tadi.\n\nBagi membolehkan perkara ini ditimbangkan oleh Majlis Mesyuarat, saya\nhendaklah berpuas hati bahawa perkara yang dibangkitkan oleh Yang Berhormat itu\nmematuhi tiga syarat seperti biasalah iaitu:\n\n(i) perkara tertentu;\n\n(ii) bagi kepentingan orang ramai; dan\n\n(iii) berkehendak disegerakan.\n\n\n']
[13]:
%%time

model.generate([hansard], to_lang = 'ms', max_length = 2048)
CPU times: user 14min 31s, sys: 8.69 s, total: 14min 40s
Wall time: 3min 47s
[13]:
['26 DR.27.10.2021\n\nUSUL MENANGGUHKAN MESYUARAT\n\nDI BAWAH P.M. 18(1)\n\nPENJUALAN ASET GAS PETRONAS DI AZERBAIJAN\n\n11.33 pg.\n\nDato Seri Anwar bin Ibrahim [Port Dickson]: Tuan Yang di-Pertua, saya mohon mengemukakan usul di bawah Peraturan Mesyuarat 18(1) dan 18(2) Peraturan-\nperaturan Majlis Mesyuarat Dewan Rakyat seperti berikut:\n\n"Bahawa Dewan yang bersidang hari ini merundingkan\nlaporan bahawa Petronas telah menjual aset gas di Azerbaijan dengan\nharga hampir RM10 bilion berikutan desakan kerajaan menaikkan\nbayaran dividen Petronas sebanyak RM25 bilion kepada kerajaan bagi\ntahun 2021.\n\n \nPerkara ini adalah perkara tertentu kerana penjualan aset gas di Azerbaijan\n\nbernilai RM10 bilion dan juga pembayaran dividen kepada kerajaan sebanyak RM25 bilion\nbagi tahun 2021 adalah berbahaya dan menjejaskan masa depan Petronas. Terkait\ndengan sedikit penjelasan. Oleh kerana tindakan seperti ini telah menyebabkan J.P. Morgan\nmengeluarkan Petronas dari ESG Emerging Market Bond Index dan ESG Asia Credit\nIndex.\n\nOleh itu, perkara itu perlu disegerakan kerana Petronas mengalami defisit\nberikutan pembayaran dividen berlebihan sejak tahun 2018 sehingga kini yang memaksa\nPetronas menjual aset atau meminjam lebih banyak dana luar negara untuk menampung\naliran tunai.\n\nIni diperkukuh dengan kenyataan Tengku Muhammad Taufik, CEO Petronas, Jika\nada policy shift tapi ia datang terlalu tiba atau terlalu perlahan, bukan sahaja Petronas tetapi the entire Malaysian economy could be put at risk, berkenaan dengan energy mix kita.\n\nIni perkara berkenaan dengan kepentingan orang ramai, malah seluruh ekonomi\nnegara, kerana Petronas adalah institusi penting ekonomi negara dan sewajarnya\ndiperkukuh kekuatannya dan tidak dilemahkan penarafan syarikat. Kemampuan untuk\nmelabur bagi menjana keuntungan masa depan yang mampu untuk membayar dividen\nyang munasabah kepada kerajaan demi kepentingan rakyat. Dengan tambahan RM7\nbilion tahun ini, hasil Petronas akan berjumlah RM44.8 bilion atau 18 peratus daripada\npendapatan kerajaan bagi tahun 2021 daripada RM37.8 bilion sebelumnya.\n\nJadi, mohon persetujuan Tuan Yang di-Pertua untuk dibahaskan. [Applause]\n\nTuan Yang di-Pertua: Terima kasih Yang Berhormat. Sebenarnya Yang Berhormat perlu melengkapkan teks Yang Berhormat dan hanya dibaca teks tersebut\nmengikut peraturan. Akan tetapi, tak apa.\n\nAhli-ahli Yang Berhormat, saya telah menerima satu pemberitahu usul di bawah\nPeraturan Mesyuarat 18(1) oleh Yang Berhormat Port Dickson, Ketua Pembangkang pada\nhari Isnin, 25 Oktober 2021. Teks usul itu adalah seperti yang dibacakan tadi dengan\nsedikit tambahan oleh Ahli Yang Berhormat Port Dickson sebentar tadi.\n\nBagi membolehkan perkara ini ditimbangkan oleh Majlis Mesyuarat, saya\nhendaklah berpuas hati bahawa perkara yang dibangkitkan oleh Yang Berhormat itu\nmematuhi tiga syarat seperti biasalah iaitu:\n\n(i) perkara tertentu;\n\n(ii) bagi kepentingan orang ramai; dan\n\n(iii) berkehendak disegerakan.\n\n\n']

Code#

[14]:
%%time

ctranslate_model.generate(
    [code],
    max_input_length=2048,
    max_decoding_length=2048,
    disable_unk=True,
)
CPU times: user 8.49 s, sys: 47.8 ms, total: 8.54 s
Wall time: 2.18 s
[14]:
['`Untuk menggunakan numpy, pertama, anda perlu memasangnya melalui pip. Anda boleh melakukannya dengan menjalankan perintah `pip install numpy` di terminal anda.\nSetelah numpy dipasang, anda boleh mengimport modul numpy dengan menambahkan baris `import numpy as np` pada awal program anda.\nBerikut adalah contoh beberapa operasi asas numpy:\n``` python\nimport numpy as np\n# membuat array numpy dari senarai\nmy_list = [1, 2, 3, 4, 5]\nmy_array = np.array(my_list)\n# membuat array numpy dengan julat nilai tertentu\nmy_range = np.arange(0, 10, 2) # nilai awal, nilai akhir, dan loncatan\n# membuat array numpy dengan nilai rawak\nmy_random_array = np.random.rand(3, 3) # 3 baris dan 3 lajur\n# mengakses elemen array numpy\nprint(my_array[0]) # mengakses elemen pertama\n# melakukan operasi matematik pada array numpy\nmy_array = my_array + 1 # menambahkan setiap elemen dengan 1\nmy_array = my_array * 2 # mendarab setiap elemen dengan 2\n# mengubah bentuk array numpy\nmy_array = np.reshape(my_array, (2, 5)) # menjadi array 2D dengan 2 baris dan 5 lajur\n```\nItulah beberapa operasi asas numpy. Anda boleh mencari dokumentasi rasmi numpy di https://numpy.org/doc/stable/.\n']
[13]:
%%time

ctranslate_model_gpu.generate(
    [code],
    max_input_length=2048,
    max_decoding_length=2048,
    disable_unk=True,
)
CPU times: user 2.47 s, sys: 0 ns, total: 2.47 s
Wall time: 620 ms
[13]:
['`Untuk menggunakan numpy, pertama, anda perlu memasangnya melalui pip. Anda boleh melakukannya dengan menjalankan perintah `pip install numpy` di terminal anda.\nSetelah numpy dipasang, anda boleh mengimport modul numpy dengan menambahkan baris `import numpy as np` pada awal program anda.\nBerikut adalah contoh beberapa operasi asas numpy:\n``` python\nimport numpy as np\n# membuat array numpy dari senarai\nmy_list = [1, 2, 3, 4, 5]\nmy_array = np.array(my_list)\n# membuat array numpy dengan julat nilai tertentu\nmy_range = np.arange(0, 10, 2) # nilai awal, nilai akhir, dan loncatan\n# membuat array numpy dengan nilai rawak\nmy_random_array = np.random.rand(3, 3) # 3 baris dan 3 lajur\n# mengakses elemen array numpy\nprint(my_array[0]) # mengakses elemen pertama\n# melakukan operasi matematik pada array numpy\nmy_array = my_array + 1 # menambahkan setiap elemen dengan 1\nmy_array = my_array * 2 # mendarab setiap elemen dengan 2\n# mengubah bentuk array numpy\nmy_array = np.reshape(my_array, (2, 5)) # menjadi array 2D dengan 2 baris dan 5 lajur\n```\nItulah beberapa operasi asas numpy. Anda boleh mencari dokumentasi rasmi numpy di https://numpy.org/doc/stable/.\n']
[15]:
%%time

model.generate([code], to_lang = 'ms', max_length = 2048)
CPU times: user 3min 29s, sys: 504 ms, total: 3min 29s
Wall time: 54.2 s
[15]:
['`Untuk menggunakan numpy, pertama, anda perlu memasangnya melalui pip. Anda boleh melakukannya dengan menjalankan perintah `pip install numpy` di terminal anda.\nSetelah numpy dipasang, anda boleh mengimport modul numpy dengan menambahkan baris `import numpy as np` pada awal program anda.\nBerikut adalah contoh beberapa operasi asas numpy:\n``` python\nimport numpy as np\n# mencipta array numpy dari senarai\nmy_list = [1, 2, 3, 4, 5]\nmy_array = np.array(my_list)\n# mencipta array numpy dengan julat nilai tertentu\nmy_range = np.arange(0, 10, 2) # nilai awal, nilai akhir, dan loncatan\n# mencipta array numpy dengan nilai rawak\nmy_random_array = np.random.rand(3, 3) # 3 baris dan 3 lajur\n# mengakses elemen array numpy\nprint(my_array[0]) # mengakses elemen pertama\n# melakukan operasi matematik pada array numpy\nmy_array = my_array + 1 # menambahkan setiap elemen dengan 1\nmy_array = my_array * 2 # mendarab setiap elemen dengan 2\n# mengubah bentuk array numpy\nmy_array = np.reshape(my_array, (2, 5)) # menjadi array 2D dengan 2 baris dan 5 lajur\n```\nItulah beberapa operasi asas numpy. Anda boleh mencari dokumentasi rasmi numpy di https://numpy.org/doc/stable/.\n']

Long document#

[16]:
%%time

ctranslate_model.generate(
    [s],
    max_input_length=2048,
    max_decoding_length=2048,
    disable_unk=True,
)
CPU times: user 1min 1s, sys: 793 ms, total: 1min 1s
Wall time: 15.9 s
[16]:
['Pengesahan Rantaian Berfikir Menghapuskan Alasan\ndalam Model Bahasa Besar\nJasonWei Xuezhi Wang Dale Schuurmans Maarten Bosma\nBrian Ichter Fei Xia Ed H. Chi Quoc V. Le Denny Zhou\nPenyelidikan Google, Pasukan Otak\n{jasonwei,dennyzhou}@google.com\nAbstrak\nKami meneroka cara menjana rantaian pemikiran-satu siri penaakulan perantaraan\nlangkah-langkah yang meningkatkan keupayaan model bahasa besar untuk melakukan\npenaakulan yang kompleks. Khususnya, kami menunjukkan bagaimana kebolehan penaakulan sedemikian muncul\nsecara semula jadi dalam model bahasa yang cukup besar melalui kaedah mudah yang dipanggil rantaian-fikir\nmendorong, di mana beberapa demonstrasi rantaian pemikiran disediakan sebagai\ncontoh dalam dorongan.\nEksperimen pada tiga model bahasa besar menunjukkan bahawa dorongan rantaian-fikir\nmeningkatkan prestasi pada pelbagai aritmetik, commonsense, dan simbolik\ntugas penaakulan. Keuntungan empirikal boleh menarik. Sebagai contoh, mendorong a\nPaLM 540B dengan hanya lapan contoh rantaian-fikir mencapai canggih\nketepatan pada penanda aras GSM8K masalah perkataan matematik, melebihi walaupun\nGPT-3 yang diperhalusi dengan pengverifikasi.\nA: Kafeteria mempunyai 23 epal pada asalnya. Mereka menggunakan\n20 untuk membuat makan tengah hari. Jadi mereka mempunyai 23 - 20 = 3. Mereka\nmembeli 6 lagi epal, jadi mereka mempunyai 3 + 6 = 9. Jawapannya ialah 9.\nPrompting Rantaian\nS: Roger mempunyai 5 bola tenis. Dia membeli 2 tin lagi\nbola tenis. Setiap tin mempunyai 3 bola tenis. Berapa banyak\nbola tenis yang dia ada sekarang?\nA: Jawapannya ialah 11.\nS: Kafeteria mempunyai 23 epal. Jika mereka menggunakan 20 untuk\nmembuat makan tengah hari dan membeli 6 lagi, berapa banyak epal\nadakah mereka mempunyai?\nA: Jawapannya ialah 27.\nPrompting Standard\nS: Roger mempunyai 5 bola tenis. Dia membeli 2 tin lagi\nbola tenis. Setiap tin mempunyai 3 bola tenis. Berapa banyak\nbola tenis yang dia ada sekarang?\nA: Roger bermula dengan 5 bola. 2 tin 3 bola tenis\nsetiap satu ialah 6 bola tenis. 5 + 6 = 11. Jawapannya ialah 11.\nS: Kafeteria mempunyai 23 epal. Jika mereka menggunakan 20 untuk\nmembuat makan tengah hari dan membeli 6 lagi, berapa banyak epal\nadakah mereka mempunyai?\nInput Model\nOutput Model Output\nInput Model\nRajah 1: Penyegerakan Rantaian pemikiran membolehkan model bahasa besar menangani aritmetik yang kompleks,\ncommonsense, dan tugas penaakulan simbolik. Proses penaakulan Rantaian difikirkan diserlahkan.\nPersidangan ke-36 mengenai Sistem Pemprosesan Maklumat Neural (NeurIPS 2022).\narXiv:2201.11903v6 [cs.CL] 10 Jan 2023\n1 Pengenalan\nMasalah Perkataan Matematik (GSM8K)\n0\n20\n40\n60\n80\n100\n33\n55\n18\n57\nKadar penyelesaian (%)\nGPT-3 175B yang diperhalusi\nTerbaik sebelum ini\nPaLM 540B: dorongan standard\nPaLM 540B: dorongan rantaian-fikir\nRajah 2: PaLM 540B menggunakan rantaian-fikir\nmendorong untuk mencapai canggih baharu-\nprestasi terkini pada GSM8K\npenanda aras masalah perkataan matematik.\nGPT-3 yang diperhalusi dan yang terbaik sebelum ini adalah daripada\nCobbe et al. (2021).\nLandskap NLP baru-baru ini telah direvolusikan oleh\nmodel bahasa (Peters et al., 2018; Devlin et al., 2019;\nBrown et al., 2020, inter alia). Mengukur saiz bahasa\nmodel telah ditunjukkan untuk memberikan pelbagai faedah,\nseperti prestasi yang lebih baik dan kecekapan sampel (Kaplan\net al., 2020; Brown et al., 2020, inter alia). Walau bagaimanapun,\nskala saiz model sahaja tidak terbukti mencukupi untuk\nmencapai prestasi tinggi pada tugas yang mencabar seperti\naritmetik, commonsense, dan penaakulan simbolik (Rae\net al., 2021).\nKerja ini meneroka bagaimana keupayaan penaakulan besar\nmodel bahasa boleh dibuka kunci oleh kaedah mudah\ndidorong oleh dua idea. Pertama, teknik untuk aritmetik\npenaakulan boleh mendapat manfaat daripada menjana bahasa semula jadi\nrasional yang membawa kepada jawapan terakhir. Kerja terdahulu telah\nmemberikan model keupayaan untuk menjana bahasa semula jadi perantaraan\nlangkah dengan latihan dari awal (Ling et al., 2017)\natau memperhalusi model pralatihan (Cobbe et al., 2021), di\ntambahan kepada kaedah neuro-symbolik yang menggunakan bahasa formal\nbukannya bahasa semula jadi (Roy dan Roth, 2015;\nChiang dan Chen, 2019; Amini et al., 2019; Chen et al.,\n2019). Kedua, model bahasa besar menawarkan yang menarik\nprospek pembelajaran dalam konteks beberapa tangkapan melalui dorongan. Iaitu, bukannya memperhalusi satu pusat pemeriksaan model bahasa untuk setiap tugas baharu, seseorang boleh "mendorong" model dengan beberapa\ncontoh input–output\n']
[14]:
%%time

ctranslate_model_gpu.generate(
    [s],
    max_input_length=2048,
    max_decoding_length=2048,
    disable_unk=True,
)
CPU times: user 9.51 s, sys: 12.2 ms, total: 9.52 s
Wall time: 2.4 s
[14]:
['Pengesanan Rantaian Berdepan Menghapuskan Alasan\ndalam Model Bahasa Besar\nJasonWei Xuezhi Wang Dale Schuurmans Maarten Bosma\nBrian Ichter Fei Xia Ed H. Chi Quoc V. Le Denny Zhou\nPenyelidikan Google, Pasukan Otak\n{jasonwei,dennyzhou}@google.com\nAbstrak\nKami meneroka cara menjana rantaian pemikiran - satu siri penaakulan perantaraan\nlangkah - meningkatkan secara ketara keupayaan model bahasa besar untuk melakukan\npenaakulan yang kompleks. Khususnya, kami menunjukkan bagaimana kebolehan penaakulan sedemikian muncul\nsecara semula jadi dalam model bahasa yang cukup besar melalui kaedah mudah yang dipanggil rantaian pemikiran\nmendorong, di mana beberapa demonstrasi rantaian pemikiran disediakan sebagai\ncontoh dalam dorongan.\nEksperimen pada tiga model bahasa besar menunjukkan bahawa dorongan rantaian pemikiran\nmeningkatkan prestasi pada pelbagai aritmetik, akal dan simbolik\ntugas penaakulan. Keuntungan empirikal boleh menarik. Sebagai contoh, mendorong a\nPaLM 540B dengan hanya lapan contoh rantaian pemikiran mencapai keadaan terkini\nketepatan pada penanda aras GSM8K masalah perkataan matematik, melebihi walaupun\nGPT-3 yang diperhalusi dengan pengverifikasi.\nA: Kafeteria mempunyai 23 epal pada asalnya. Mereka menggunakan\n20 untuk membuat makan tengah hari. Jadi mereka mempunyai 23 - 20 = 3. Mereka\nmembeli 6 lagi epal, jadi mereka mempunyai 3 + 6 = 9. Jawapannya ialah 9.\nPengesanan Rantaian\nS: Roger mempunyai 5 bola tenis. Dia membeli 2 tin lagi\nbola tenis. Setiap tin mempunyai 3 bola tenis. Berapa banyak\nbola tenis yang dia ada sekarang?\nA: Jawapannya ialah 11.\nS: Kafeteria mempunyai 23 epal. Jika mereka menggunakan 20 untuk\nmembuat makan tengah hari dan membeli 6 lagi, berapa banyak epal\nadakah mereka mempunyai?\nA: Jawapannya 27.\nPengesanan Standard\nS: Roger mempunyai 5 bola tenis. Dia membeli 2 tin lagi\nbola tenis. Setiap tin mempunyai 3 bola tenis. Berapa banyak\nbola tenis yang dia ada sekarang?\nA: Roger bermula dengan 5 bola. 2 tin 3 bola tenis\nsetiap satu ialah 6 bola tenis. 5 + 6 = 11. Jawapannya ialah 11.\nS: Kafeteria mempunyai 23 epal. Jika mereka menggunakan 20 untuk\nmembuat makan tengah hari dan membeli 6 lagi, berapa banyak epal\nadakah mereka mempunyai?\nInput Model\nOutput Model Output\nInput Model\nRajah 1: Penyegerakan rantaian pemikiran membolehkan model bahasa besar menangani aritmetik yang kompleks,\nakal dan tugas penaakulan simbolik. Proses penaakulan rantaian pemikiran diserlahkan.\nPersidangan ke-36 mengenai Sistem Pemprosesan Maklumat Neural (NeurIPS 2022).\narXiv:2201.11903v6 [cs.CL] 10 Jan 2023\nPengenalan\nMasalah Perkataan Matematik (GSM8K)\n0\n20\n40\n60\n80\n100\n33\n55\n18\n57\nKadar penyelesaian (%)\nGPT-3 175B yang diperhalusi\nTerbaik sebelum ini\nPaLM 540B: dorongan standard\nPaLM 540B: dorongan rantaian pemikiran\nRajah 2: PaLM 540B menggunakan rantaian pemikiran\nmendorong untuk mencapai keadaan baharu-\nprestasi terkini pada GSM8K\npenanda aras masalah perkataan matematik.\nGPT-3 yang diperhalusi dan yang terbaik sebelum ini adalah daripada\nCobbe et al. (2021).\nLandskap NLP baru-baru ini telah direvolusikan oleh\nmodel bahasa (Peters et al., 2018; Devlin et al., 2019;\nBrown et al., 2020, inter alia). Mengukur saiz bahasa\nmodel telah ditunjukkan untuk memberikan pelbagai faedah,\nseperti prestasi yang lebih baik dan kecekapan sampel (Kaplan\net al., 2020; Brown et al., 2020, inter alia). Walau bagaimanapun,\nskala saiz model sahaja tidak terbukti mencukupi untuk\nmencapai prestasi tinggi pada tugas yang mencabar seperti\naritmetik, akal dan penaakulan simbolik (Rae\net al., 2021).\nKerja ini meneroka bagaimana keupayaan penaakulan besar\nmodel bahasa boleh dibuka kunci oleh kaedah mudah\ndidorong oleh dua idea. Pertama, teknik untuk aritmetik\npenaakulan boleh mendapat manfaat daripada menjana bahasa semula jadi\nrasional yang membawa kepada jawapan akhir. Kerja terdahulu telah\nmemberikan model keupayaan untuk menjana bahasa semula jadi perantaraan\nlangkah dengan latihan dari awal (Ling et al., 2017)\natau memperhalusi model pralatihan (Cobbe et al., 2021), di\ntambahan kepada kaedah neuro-symbolik yang menggunakan bahasa formal\nbukannya bahasa semula jadi (Roy dan Roth, 2015;\nChiang dan Chen, 2019; Amini et al., 2019; Chen et al.,\n2019). Kedua, model bahasa besar menawarkan yang menarik\nprospek pembelajaran dalam konteks beberapa tangkapan melalui dorongan. Iaitu, bukannya memperhalusi satu pusat pemeriksaan model bahasa untuk setiap tugas baharu, seseorang boleh "mendorong" model dengan beberapa\ncontoh input–output\n']
[18]:
# %%time

# model.generate([s], to_lang = 'ms', max_length = 2048)

Too long to run using CPU, I had to comment the code.