Giới thiệu
Sau khi các mô hình Llama và Mistral được phát hành, LLM nguồn mở đã lấy đi sự chú ý của OpenAI. Kể từ đó, nhiều mẫu đã được phát hành dựa trên kiến trúc Llama và Mistral, hoạt động ngang bằng với các mẫu độc quyền như GPT-3.5 Turbo, Claude, Gemini, v.v. Tuy nhiên, những mẫu này quá lớn để sử dụng trong phần cứng tiêu dùng.
Nhưng gần đây, đã xuất hiện một loại LLM mới. Đây là các LLM trong danh mục tham số phụ 7B. Ít thông số hơn khiến chúng đủ nhỏ gọn để chạy trong phần cứng tiêu dùng trong khi vẫn giữ được hiệu suất tương đương với mẫu 7B. Các mô hình như Tiny-Llama-1B, Phi-2 của Microsoft và Qwen-3b của Alibaba có thể là sự thay thế tuyệt vời cho các mô hình lớn hơn chạy cục bộ hoặc triển khai trên biên. Đồng thời, tinh chỉnh là rất quan trọng để mang lại hiệu quả tốt nhất cho bất kỳ mô hình cơ sở nào cho bất kỳ nhiệm vụ tiếp theo nào.
Ở đây, chúng ta sẽ khám phá cách Tinh chỉnh cơ sở Mô hình Tiny-Llama trên tập dữ liệu Alpaca đã được làm sạch.
Mục tiêu học tập
- Hiểu tinh chỉnh và các phương pháp khác nhau của nó.
- Tìm hiểu về các công cụ và kỹ thuật để tinh chỉnh hiệu quả.
- Tìm hiểu về WandB để ghi nhật ký đào tạo.
- Tinh chỉnh Tiny-Llama trên tập dữ liệu Alpaca trong Colab.
Bài báo này đã được xuất bản như một phần của Blogathon Khoa học Dữ liệu.
Mục lục
Tinh chỉnh LLM là gì?
Tinh chỉnh là quá trình làm cho một mô hình được đào tạo trước học kiến thức mới. Mô hình được đào tạo trước là mô hình có mục đích chung được đào tạo trên một lượng lớn dữ liệu. Tuy nhiên, trong hầu hết các trường hợp, chúng không hoạt động như dự định và tinh chỉnh là cách hiệu quả nhất để làm cho mô hình thích ứng với các trường hợp sử dụng cụ thể. Ví dụ, cơ sở LLM làm tốt việc tạo văn bản trên QA một lượt nhưng gặp khó khăn với các cuộc hội thoại nhiều lượt như mô hình trò chuyện.
Các mô hình cơ sở cần được đào tạo về bản ghi các đoạn hội thoại để có thể tổ chức các cuộc hội thoại nhiều lượt. Tinh chỉnh là điều cần thiết để biến các mô hình được đào tạo trước thành các hình đại diện khác nhau. Chất lượng của các mô hình Tinh chỉnh phụ thuộc vào chất lượng dữ liệu và khả năng của mô hình cơ sở. Có nhiều cách để tinh chỉnh mô hình, như LoRA, QLoRA, v.v.
Chúng ta hãy lướt qua những khái niệm này một cách ngắn gọn.
LoRA
LoRA là viết tắt của Thích ứng cấp thấp, một kỹ thuật tinh chỉnh phổ biến trong đó chúng tôi chọn một vài tham số có thể huấn luyện thay vì cập nhật tất cả các tham số thông qua phép tính gần đúng cấp thấp của ma trận trọng số ban đầu. Mô hình LoRA có thể được Tinh chỉnh nhanh hơn trên phần cứng ít tính toán hơn.
QLoRA
QLoRA hoặc LoRA lượng tử hóa là một bước tiến xa hơn LoRA. Thay vì một mô hình có độ chính xác đầy đủ, nó lượng tử hóa các trọng số của mô hình để giảm độ chính xác của dấu phẩy động trước khi áp dụng LoRA. Lượng tử hóa là quá trình hạ thấp các giá trị bit cao hơn xuống các giá trị thấp hơn. Quá trình lượng tử hóa 4 bit bao gồm việc lượng tử hóa các trọng số 16 bit thành giá trị float 4 bit.
Lượng tử hóa mô hình dẫn đến giảm đáng kể kích thước mô hình với độ chính xác tương đương với mô hình ban đầu. Trong QLoRA, chúng tôi lấy mô hình lượng tử hóa và áp dụng LoRA cho nó. Các mô hình có thể được lượng tử hóa theo nhiều cách, chẳng hạn như thông qua llama.cpp, AWQ, bitandbytes, v.v.
Tinh chỉnh với Unsloth
Unsloth là một nền tảng nguồn mở để tinh chỉnh các Mô hình Ngôn ngữ Lớn phổ biến nhanh hơn. Nó hỗ trợ các LLM phổ biến, bao gồm Llama-2 và Mistral, cũng như các dẫn xuất của chúng như Yi, Open-hermes, v.v. Nó triển khai các hạt nhân triton tùy chỉnh và một công cụ chống đỡ thủ công để cải thiện tốc độ đào tạo mô hình.
Ở đây, chúng tôi sẽ sử dụng Unsloth để Tinh chỉnh mô hình Tiny-Llama được lượng tử hóa 4 bit cơ bản trên Alpaca tập dữ liệu. Mô hình được lượng tử hóa bằng bit và byte, đồng thời hạt nhân được tối ưu hóa bằng Triton của OpenAI.
Đăng nhập bằng WandB
Trong Machine learning, việc ghi lại các số liệu đào tạo và đánh giá là rất quan trọng. Điều này cho chúng ta một bức tranh hoàn chỉnh về quá trình chạy tàu. Trọng lượng và xu hướng (WandB) là một thư viện mã nguồn mở để trực quan hóa và theo dõi các thí nghiệm học máy. Nó có một ứng dụng web chuyên dụng để trực quan hóa các số liệu đào tạo trong thời gian thực. Nó cũng cho phép chúng tôi quản lý các mô hình sản xuất một cách tập trung. Chúng tôi sẽ chỉ sử dụng WandB để theo dõi quá trình tinh chỉnh Tiny-Llama của mình.
Để sử dụng WandB, hãy đăng ký một tài khoản miễn phí và tạo một tài khoản Mã API.
Bây giờ, hãy bắt đầu tinh chỉnh mô hình của chúng tôi.
Làm thế nào để tinh chỉnh Tiny-Llama?
Tinh chỉnh là một nhiệm vụ nặng về tính toán. Nó yêu cầu máy có 10-15 GB VRAM hoặc bạn có thể sử dụng thời gian chạy GPU Tesla T4 miễn phí của Colab.
Bây giờ hãy cài đặt Unsloth và WandB
%%capture
import torch
major_version, minor_version = torch.cuda.get_device_capability()
!pip install wandb
if major_version >= 8:
# Use this for new GPUs like Ampere, Hopper GPUs (RTX 30xx, RTX 40xx, A100, H100, L40)
!pip install "unsloth[colab_ampere] @ git+https://github.com/unslothai/unsloth.git"
else:
# Use this for older GPUs (V100, Tesla T4, RTX 20xx)
!pip install "unsloth[colab] @ git+https://github.com/unslothai/unsloth.git"
pass
Việc tiếp theo là tải mô hình được lượng tử hóa trước 4 bit bằng Unsloth.
from unsloth import FastLanguageModel
import torch
max_seq_length = 4096 # Choose any! We auto support RoPE Scaling internally!
dtype = None # None for auto detection. Float16 for Tesla T4, V100, Bfloat16 for Ampere+
load_in_4bit = True # Use 4bit quantization to reduce memory usage. Can be False.
model, tokenizer = FastLanguageModel.from_pretrained(
model_name = "unsloth/tinyllama-bnb-4bit", # "unsloth/tinyllama" for 16bit loading
max_seq_length = max_seq_length,
dtype = dtype,
load_in_4bit = load_in_4bit,
)
Điều này sẽ cài đặt mô hình cục bộ. Kích thước mô hình 4 bit sẽ vào khoảng 760 MB.
Bây giờ áp dụng PEFT sang mô hình Tiny-Llama 4-bit.
model = FastLanguageModel.get_peft_model(
model,
r = 32, # Choose any number > 0 ! Suggested 8, 16, 32, 64, 128
target_modules = ["q_proj", "k_proj", "v_proj", "o_proj",
"gate_proj", "up_proj", "down_proj",],
lora_alpha = 32,
lora_dropout = 0, # Currently only supports dropout = 0
bias = "none", # Currently only supports bias = "none"
use_gradient_checkpointing = True, # @@@ IF YOU GET OUT OF MEMORY - set to True @@@
random_state = 3407,
use_rslora = False, # We support rank stabilized LoRA
loftq_config = None, # And LoftQ
)
Chuẩn bị dữ liệu
Bước tiếp theo là chuẩn bị tập dữ liệu để tinh chỉnh. Như tôi đã đề cập trước đó, chúng tôi sẽ sử dụng một Tập dữ liệu Alpaca. Đây là phiên bản đã được làm sạch của tập dữ liệu Alpaca gốc. Nó tuân theo định dạng hướng dẫn-đầu vào-phản hồi. Đây là một ví dụ về dữ liệu Alpaca
Bây giờ, hãy chuẩn bị dữ liệu của chúng tôi.
@title prepare data
#alpaca_prompt = """Below is an instruction that describes a task, paired with an input that
provides further context.
Write a response that appropriately completes the request.
### Instruction:
{}
### Input:
{}
### Response:
{}"""
EOS_TOKEN = tokenizer.eos_token
def formatting_prompts_func(examples):
instructions = examples["instruction"]
inputs = examples["input"]
outputs = examples["output"]
texts = []
for instruction, input, output in zip(instructions, inputs, outputs):
# Must add EOS_TOKEN, otherwise your generation will go on forever!
text = alpaca_prompt.format(instruction, input, output) + EOS_TOKEN
texts.append(text)
return { "text" : texts, }
pass
from datasets import load_dataset
dataset = load_dataset("yahma/alpaca-cleaned", split = "train")
dataset = dataset.map(formatting_prompts_func, batched = True,)
Bây giờ, hãy chia dữ liệu thành dữ liệu huấn luyện và đánh giá. Tôi đã lấy dữ liệu đánh giá nhỏ vì dữ liệu đánh giá lớn hơn sẽ làm chậm quá trình đào tạo.
dataset_dict = dataset.train_test_split(test_size=0.004)
Cấu hình WandB
Bây giờ, hãy định cấu hình Trọng số và Xu hướng trong thời gian chạy hiện tại của bạn.
# @title wandb init
import wandb
wandb.login()
Cung cấp khóa API để đăng nhập vào WandB khi được nhắc.
Thiết lập các biến môi trường.
%env WANDB_WATCH=all
%env WANDB_SILENT=true
Mô hình xe lửa
Cho đến nay, chúng tôi đã tải mô hình 4 bit, tạo cấu hình LoRA, chuẩn bị tập dữ liệu và định cấu hình WandB. Bước tiếp theo là huấn luyện mô hình trên dữ liệu. Để làm được điều đó, chúng ta cần xác định một huấn luyện viên từ thư viện Trl. Chúng tôi sẽ sử dụng SFTrainer từ Trl. Nhưng trước đó, hãy khởi tạo WandB và xác định các đối số huấn luyện thích hợp.
import os
from trl import SFTTrainer
from transformers import TrainingArguments
from transformers.utils import logging
import wandb
logging.set_verbosity_info()
project_name = "tiny-llama"
entity = "wandb"
# os.environ["WANDB_LOG_MODEL"] = "checkpoint"
wandb.init(project=project_name, name = "tiny-llama-unsloth-sft")
Đối số đào tạo
args = TrainingArguments(
per_device_train_batch_size = 2,
per_device_eval_batch_size=2,
gradient_accumulation_steps = 4,
evaluation_strategy="steps",
warmup_ratio = 0.1,
num_train_epochs = 1,
learning_rate = 2e-5,
fp16 = not torch.cuda.is_bf16_supported(),
bf16 = torch.cuda.is_bf16_supported(),
optim = "adamw_8bit",
weight_decay = 0.1,
lr_scheduler_type = "linear",
seed = 3407,
output_dir = "outputs",
report_to="wandb", # enable logging to W&B
# run_name="tiny-llama-alpaca-run", # name of the W&B run (optional)
logging_steps=1, # how often to log to W&B
logging_strategy = 'steps',
save_total_limit=2,
)
Điều này rất quan trọng cho việc đào tạo. Để duy trì mức sử dụng GPU ở mức thấp, hãy duy trì các bước đào tạo, đánh giá lô và tích lũy độ dốc ở mức thấp. logging_steps là số bước trước khi số liệu được ghi vào WandB.
Bây giờ, hãy khởi tạo SFTTrainer.
trainer = SFTTrainer(
model = model,
tokenizer = tokenizer,
train_dataset = dataset_dict["train"],
eval_dataset=dataset_dict["test"],
dataset_text_field = "text",
max_seq_length = max_seq_length,
dataset_num_proc = 2,
packing = True, # Packs short sequences together to save time!
args = args,
)
Bây giờ, hãy bắt đầu luyện tập.
trainer_stats = trainer.train()
wandb.finish()
Trong quá trình đào tạo, WandB sẽ theo dõi các số liệu đào tạo và đánh giá. Bạn truy cập liên kết bảng điều khiển nhất định và xem nó trong thời gian thực.
Đây là ảnh chụp màn hình quá trình tôi chạy trên sổ tay Colab.
Tốc độ huấn luyện sẽ phụ thuộc vào nhiều yếu tố, bao gồm kích thước dữ liệu huấn luyện và đánh giá, kích thước lô huấn luyện và đánh giá cũng như số lượng kỷ nguyên. Nếu bạn gặp phải vấn đề về sử dụng GPU, hãy thử giảm kích thước bước tích lũy hàng loạt và độ dốc. Kích thước lô tàu = batch_size_per_device * gradient_accumulation_steps. Và số bước tối ưu hóa = tổng dữ liệu huấn luyện/kích thước lô. Bạn có thể chơi với các thông số và xem cái nào hoạt động tốt hơn.
Bạn có thể hình dung sự mất mát trong quá trình đào tạo và đánh giá quá trình đào tạo của mình trên bảng điều khiển WandB.
Mất tàu
Đánh giá mất mát
Tham khảo
Bạn có thể lưu cục bộ bộ điều hợp LoRA hoặc đẩy chúng vào Kho lưu trữ HuggingFace.
model.save_pretrained("lora_model") # Local saving
# model.push_to_hub("your_name/lora_model", token = "...") # Online saving
Bạn cũng có thể tải mô hình đã lưu từ đĩa và sử dụng nó để suy luận.
if False:
from unsloth import FastLanguageModel
model, tokenizer = FastLanguageModel.from_pretrained(
model_name = "lora_model", # YOUR MODEL YOU USED FOR TRAINING
max_seq_length = max_seq_length,
dtype = dtype,
load_in_4bit = load_in_4bit,
)
inputs = tokenizer(
[
alpaca_prompt.format(
"capital of France?", # instruction
"", # input
"", # output - leave this blank for a generation!
)
]*1, return_tensors = "pt").to("cuda")
outputs = model.generate(**inputs, max_new_tokens = 64, use_cache = True)
tokenizer.batch_decode(outputs)
Để phát trực tuyến các phản hồi của Mô hình.
from transformers import TextStreamer
text_streamer = TextStreamer(tokenizer)
_ = model.generate(**inputs, streamer = text_streamer, max_new_tokens = 64)
Vì vậy, đây hoàn toàn là về việc tinh chỉnh mô hình Tiny-Llama bằng tính năng ghi nhật ký của WandB.
Dưới đây là Sổ tay Colab cho cùng.
Kết luận
LLM nhỏ có thể có lợi cho việc triển khai trên phần cứng bị hạn chế về điện toán, chẳng hạn như máy tính cá nhân, điện thoại di động và các thiết bị đeo khác, v.v. Tinh chỉnh cho phép các mô hình này hoạt động tốt hơn trong các tác vụ tiếp theo. Trong bài viết này, chúng ta đã tìm hiểu cách Tinh chỉnh mô hình ngôn ngữ cơ sở trên tập dữ liệu.
Chìa khóa chính
- Tinh chỉnh là quá trình làm cho mô hình được đào tạo trước thích ứng với một nhiệm vụ mới cụ thể.
- Tiny-Llama là một LLM chỉ có 1.1 tỷ tham số và được đào tạo trên 3 nghìn tỷ mã thông báo.
- Có nhiều cách khác nhau để Tinh chỉnh LLM, như LoRA và QLoRA.
- Unsloth là một nền tảng nguồn mở cung cấp LLM được tối ưu hóa CUDA để tăng tốc độ tinh chỉnh LLM.
- Trọng số và Xu hướng (WandB) là một công cụ để theo dõi và lưu trữ các thử nghiệm ML.
Những câu hỏi thường gặp
Đáp. Tinh chỉnh, trong bối cảnh học máy, đặc biệt là học sâu, là một kỹ thuật trong đó bạn lấy một mô hình được đào tạo trước và điều chỉnh nó cho phù hợp với một nhiệm vụ cụ thể mới.
Đáp. Có thể Tinh chỉnh miễn phí các LLM nhỏ hơn trên Colab qua GPU Tesla T4 bằng QLoRA.
A. Tinh chỉnh nâng cao đáng kể khả năng của LLM trong việc thực hiện các nhiệm vụ tiếp theo, như nhập vai, tạo mã, v.v.
A. Tiny-Llama được đào tạo trên 3 nghìn tỷ token là một LLM có tham số 1.1B. Mô hình sử dụng kiến trúc Llama-2 ban đầu.
A. Unsloth là một công cụ nguồn mở cung cấp khả năng tinh chỉnh LLM nhanh hơn và hiệu quả hơn bằng cách tối ưu hóa nhân GPU với Triton.
Phương tiện hiển thị trong bài viết này không thuộc sở hữu của Analytics Vidhya và được sử dụng theo quyết định riêng của Tác giả.
Sản phẩm liên quan
- Phân phối nội dung và PR được hỗ trợ bởi SEO. Được khuếch đại ngay hôm nay.
- PlatoData.Network Vertical Generative Ai. Trao quyền cho chính mình. Truy cập Tại đây.
- PlatoAiStream. Thông minh Web3. Kiến thức khuếch đại. Truy cập Tại đây.
- Trung tâmESG. Than đá, công nghệ sạch, Năng lượng, Môi trường Hệ mặt trời, Quản lý chất thải. Truy cập Tại đây.
- PlatoSức khỏe. Tình báo thử nghiệm lâm sàng và công nghệ sinh học. Truy cập Tại đây.
- nguồn: https://www.analyticsvidhya.com/blog/2024/02/fine-tuning-a-tiny-llama-model-with-unsloth/
- : có
- :là
- :không phải
- :Ở đâu
- $ LÊN
- 1
- 11
- 12
- 15%
- 16
- 1b
- 258
- 32
- 7
- 8
- a
- A100
- Có khả năng
- Giới thiệu
- Tài khoản
- tích lũy
- chính xác
- thích ứng
- thích ứng
- thêm vào
- Tất cả
- cho phép
- Ngoài ra
- số lượng
- an
- phân tích
- Phân tích Vidhya
- và
- bất kì
- api
- ứng dụng
- Đăng Nhập
- Nộp đơn
- thích hợp
- thích hợp
- kiến trúc
- LÀ
- đối số
- xung quanh
- bài viết
- AS
- At
- tự động
- Hình đại diện
- b
- cơ sở
- dựa
- BE
- được
- trước
- phía dưới
- mang lại lợi ích
- Lợi ích
- BEST
- Hơn
- thiên vị
- thành kiến
- Tỷ
- Một chút
- bit
- trống
- cuộc thi viết blog
- một thời gian ngắn
- mang lại
- nhưng
- by
- CAN
- khả năng
- khả năng
- vốn
- trường hợp
- Phân loại
- trò chuyện trên mạng
- Chọn
- tốt nghiệp lớp XNUMX
- mã
- nhỏ gọn
- so sánh
- hoàn thành
- Hoàn thành
- máy tính
- khái niệm
- Cấu hình
- cấu hình
- người tiêu dùng
- Phần cứng tiêu dùng
- bối cảnh
- cuộc hội thoại
- tạo
- tạo ra
- quan trọng
- Current
- Hiện nay
- khách hàng
- Dash
- bảng điều khiển
- dữ liệu
- bộ dữ liệu
- dành riêng
- sâu
- học kĩ càng
- định nghĩa
- phụ thuộc
- phụ thuộc
- triển khai
- triển khai
- Derivatives
- mô tả
- Phát hiện
- đối thoại
- khác nhau
- tùy ý
- do
- xuống
- Sớm hơn
- Cạnh
- Hiệu quả
- hiệu quả
- hiệu quả
- khác
- sự xuất hiện
- cho phép
- gặp gỡ
- Động cơ
- Nâng cao
- đủ
- thực thể
- Môi trường
- kỷ nguyên
- đặc biệt
- thiết yếu
- vv
- Ether (ETH)
- đánh giá
- ví dụ
- ví dụ
- thí nghiệm
- khám phá
- các yếu tố
- FAIL
- sai
- xa
- nhanh hơn
- vài
- ít hơn
- Phao
- nổi
- sau
- Trong
- định dạng
- Nước pháp
- Miễn phí
- từ
- xa hơn
- Gemini
- mục đích chung
- thế hệ
- được
- đi
- được
- cho
- Go
- GPU
- GPU
- tuyệt vời
- phần cứng
- Có
- tại đây
- Cao
- cao hơn
- tổ chức
- Độ đáng tin của
- Hướng dẫn
- Tuy nhiên
- HTTPS
- ÔmKhuôn Mặt
- i
- if
- thực hiện
- nhập khẩu
- quan trọng
- nâng cao
- in
- Bao gồm
- đầu vào
- đầu vào
- cài đặt, dựng lên
- thay vì
- hướng dẫn
- dự định
- trong
- liên quan đến
- các vấn đề
- IT
- jpg
- Giữ
- giữ
- Key
- kiến thức
- kumar
- Ngôn ngữ
- lớn
- lớn hơn
- Dẫn
- LEARN
- học
- học tập
- Rời bỏ
- ít
- cho phép
- Thư viện
- Lượt thích
- ánh đèn sân khấu
- tuyến tính
- LINK
- Loài đà mã ở nam mỹ
- tôi
- tải
- tải
- địa phương
- tại địa phương
- đăng nhập
- đăng nhập
- khai thác gỗ
- sự mất
- Thấp
- thấp hơn
- máy
- học máy
- làm cho
- Làm
- quản lý
- nhãn hiệu
- max-width
- Phương tiện truyền thông
- Bộ nhớ
- đề cập
- phương pháp
- Metrics
- ML
- di động
- điện thoại di động
- kiểu mẫu
- mô hình
- chi tiết
- hiệu quả hơn
- hầu hết
- nhiều
- phải
- my
- tên
- Cần
- Mới
- tiếp theo
- Không áp dụng
- máy tính xách tay
- con số
- of
- thường
- cũ
- on
- Trực tuyến
- có thể
- mã nguồn mở
- OpenAI
- tối ưu hóa
- tối ưu hóa
- tối ưu hóa
- or
- nguyên
- OS
- Nền tảng khác
- nếu không thì
- vfoXNUMXfipXNUMXhfpiXNUMXufhpiXNUMXuf
- ra
- đầu ra
- kết quả đầu ra
- kết thúc
- sở hữu
- Gói
- ghép đôi
- tham số
- thông số
- một phần
- vượt qua
- thực hiện
- biểu diễn
- riêng
- Những máy tính cá nhân
- điện thoại
- hình ảnh
- nền tảng
- plato
- Thông tin dữ liệu Plato
- PlatoDữ liệu
- Play
- Điểm
- Phổ biến
- có thể
- Độ chính xác
- Chuẩn bị
- chuẩn bị
- quá trình
- Sản lượng
- độc quyền
- cung cấp
- công bố
- Đẩy
- Q & A
- chất lượng
- R
- xếp hạng
- thời gian thực
- giảm
- giảm
- giảm
- phát hành
- kho
- yêu cầu
- đòi hỏi
- nghiên cứu
- phản ứng
- phản ứng
- trở lại
- Vai trò
- RTX
- chạy
- tương tự
- Lưu
- lưu
- tiết kiệm
- mở rộng quy mô
- Khoa học
- xem
- hạt giống
- chọn
- định
- ngắn
- thể hiện
- đăng ký
- kể từ khi
- Kích thước máy
- kích thước
- làm chậm
- nhỏ
- nhỏ hơn
- riêng
- tốc độ
- chia
- đứng
- Bắt đầu
- Bước
- Các bước
- trực tuyến
- Đấu tranh
- đáng kể
- như vậy
- hỗ trợ
- Hỗ trợ
- Hãy
- Lấy
- Nhiệm vụ
- nhiệm vụ
- kỹ thuật
- kỹ thuật
- Tesla
- thử nghiệm
- văn bản
- tạo văn bản
- hơn
- việc này
- Sản phẩm
- cung cấp their dịch
- Them
- sau đó
- Đó
- Kia là
- họ
- điều
- điều này
- Thông qua
- thời gian
- đến
- bên nhau
- mã thông báo
- Tokens
- quá
- mất
- công cụ
- công cụ
- ngọn đuốc
- Tổng số:
- theo dõi
- Theo dõi
- Train
- đào tạo
- Hội thảo
- máy biến áp
- Nghìn tỷ
- Triton
- đúng
- thử
- cập nhật
- us
- Sử dụng
- sử dụng
- đã sử dụng
- Các giá trị
- phiên bản
- thông qua
- Truy cập
- hình dung
- là
- Đường..
- cách
- we
- wearables
- web
- webp
- trọng lượng
- TỐT
- là
- Điều gì
- Là gì
- khi nào
- cái nào
- trong khi
- sẽ
- với
- công trinh
- viết
- bạn
- trên màn hình
- zephyrnet