Tải bản đầy đủ (.pdf) (15 trang)

Báo cáo thực tập full stack developer

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (818.84 KB, 15 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
KHOA CƠNG NGHỆ PHẦN MỀM

Báo Cáo Thực Tập
Full Stack Developer

Công ty thực tập: Công ty TNHH CodeLink
Người phụ trách: Nguyễn Trần Phong – Technical Leader
Thực tập sinh: Dương Bình Trọng

Tp. Hồ Chí Minh, tháng 06 năm 2022


TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
KHOA CƠNG NGHỆ PHẦN MỀM

Báo Cáo Thực Tập
Full Stack Developer

Công ty thực tập: Công ty TNHH CodeLink
Người phụ trách: Nguyễn Trần Phong – Technical Leader
Thực tập sinh: Dương Bình Trọng

Tp. Hồ Chí Minh, tháng 06 năm 2022


3

Lời Mở Đầu


Ngày nay, ngành công nghiệp phần mềm đã và đang là một trong những ngành
nghề có sức phát triển vô cùng mạnh mẽ, chiến tỉ trọng lớn trong nền kinh tế tồn cầu
và khơng hề có dấu hiệu chậm lại. Nhu cầu thị trường cho một sản phẩm phần mềm
hiện nay là cao hơn bao giờ hết. Đứng trước đà phát triển này, cùng với nhu cầu vô cùng
lớn, đã có nhiều cơng ty ra đời nhằm đáp ứng thị trường.
Một trong những cơng ty đó là CodeLink. Đây là một cơng ty đa quốc gia với
văn phịng tại Thành phố Hồ Chí Minh, và Toronto (Canada). Cơng ty được thành lập
với châm ngôn Desgin. Build. Scale, luôn đưa chất lượng phần mềm và nhân tố con
người chất lượng cao lên hàng đầu.
Là một sinh viên thuộc khoa Cơng nghệ phần mềm, em muốn mình được tiếp
xúc với tất cả các loại, các cách, các hướng đi của việc phát triển phần mềm, đồng thời
cảm thấy các mục tiêu và giá trị của CodeLink rất phù hợp với định hướng của bản
thân, nên em đã quyết định chọn CodeLink là nơi bắt đầu thực tập, mài dũa thêm những
kiến thức và kinh nghiệm thực tế trong những bước chập chững đầu tiên của sự nghiệp.

Nguyễn Trần Phong

Dương Bình Trọng


4

Lời Cảm Ơn
Trân trọng gửi lời cảm ơn đến Công ty CodeLink đã tạo điều kiện cho em có cơ
hội được thực tập tại công ty.
Em đã được học rất nhiều thứ từ sự chỉ dẫn nhiệt tình của các anh, chị trong công
ty. Em không những học được những kỹ thuật, kiến thức trong các dự án thực tế, mà
cịn tích góp được cho bản thân những kinh nghiệm khi làm một nhân viên trong công
ty, cách giao tiếp, làm việc nhóm trong các dự án chung. Chân thành cảm ơn các anh
chị, đặc biệt là anh Phong, đã giúp đỡ, hướng dẫn cũng như theo sát để góp ý em trong

suốt quá trình thực tập.
Cũng xin cảm ơn thầy cô trong khoa Công nghệ phần mềm đã nhiệt tình hỗ trợ,
tạo điều kiện em làm bài báo cáo này.
Dương Bình Trọng
Tp. Hồ Chí Minh, ngày 13 tháng 06 năm 2022

Nguyễn Trần Phong

Dương Bình Trọng


5

Nhận Xét Của Khoa
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................

.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................

Nguyễn Trần Phong

Dương Bình Trọng


6

MỤC LỤC
GIỚI THIỆU CÔNG TY THỰC TẬP................................................................................. 7
Giới thiệu về công ty CodeLink ...................................................................................... 7
Một số dự án của công ty ................................................................................................. 7
Văn hố cơng ty ............................................................................................................... 8
NỘI DUNG THỰC TẬP ..................................................................................................... 9
Tổng quan kế hoạch thực tập ........................................................................................... 9
Tuần 1 - Làm quen với công ty, setup công cụ, máy móc, tự học Python ...................... 9
Tuần 2 - Tìm hiểu về AI/ML, tham gia vào team HAL ................................................ 10
Tuần 3 - Viết thư viện Python hỗ trợ tiền xử lí dữ liệu văn bản cho mơ hình Text-ToSpeech (ViCleaner)........................................................................................................ 10
Tuần 4 - Hoàn thiện và viết unit test cho thư viện ViCleaner ....................................... 10
Tuần 5 - Làm quen với mơ hình học máy hiện tại của team, học cách điều chỉnh để
huấn luyện mơ hình ....................................................................................................... 11
Tuần 6 - Tìm hiểu thực hành sử dụng một số dịch vụ của Google Cloud Platform ...... 11
Tuần 7 - Xây dựng Text-To-Speech API ...................................................................... 11
Tuần 8 - Tìm hiểu và triển khai các phương pháp giảm thời gian phản hồi của API ... 12
GIỚI THIỆU VỀ DỰ ÁN .................................................................................................. 13

TÀI LIỆU THAM KHẢO ................................................................................................. 14
TỔNG KẾT........................................................................................................................ 15

Nguyễn Trần Phong

Dương Bình Trọng


7

GIỚI THIỆU CƠNG TY THỰC TẬP
Giới thiệu về cơng ty CodeLink

www.codelink.io

CodeLink là công ty phần mềm chuyên về phát triển sản phẩm cho các công ty
startup. Công ty sử dụng những quy trình phát triển mới nhất như là Agile, Extreme
Programming kết hợp Code Review, Pair Programming, Test Driven Development
(TDD) để đảm bảo chất lượng cho đội ngũ nhân viên và sản phẩm làm ra. CodeLink
sử dụng Rails, NodeJS, React, ReactNative và Flutter cho ứng dụng trên web và mobile.
Khách hàng của CodeLink đến từ Hong Kong, Úc, Mỹ, Canada và Việt Nam.
Các kỹ sư sẽ làm việc trực tiếp với những CEO, CTO... Yêu cầu công việc khá cao
nhưng các bạn nhân viên sẽ phát triển rất nhanh từ những dự án này.
CodeLink muốn xây dựng một môi trường phát triển phần mềm chuyên nghiệp.
Các bạn kỹ sư sẽ được đào tạo và học hỏi những công nghệ mới nhất từ những thành
viên khác.

Một số dự án của công ty

Nguyễn Trần Phong


Dương Bình Trọng


8

Văn hố cơng ty

Nguyễn Trần Phong

Dương Bình Trọng


9

NỘI DUNG THỰC TẬP
Đợt thực tập trong 2 tháng nhằm mục đích giúp sinh viên thực tập được đào tạo
về kĩ năng lập trình với vị trí Full Stack Developer, đồng thời rèn luyện những kĩ năng
mềm như làm việc nhóm, thuyết trình, giao tiếp. Tại cơng ty, sinh viên có cơ hội được
học tập, khám phá và làm việc trong một môi trường làm việc chuyên nghiệp.

Tổng quan kế hoạch thực tập
Kéo dài trong 8 tuần từ ngày 15/11/2021 đến ngày 14/01/2022.
Người hướng dẫn

Tuần

Công việc

1


Làm quen với công ty, setup cơng cụ,
máy móc, tự học Python
Tìm hiểu về AI/ML, tham gia vào team
HAL
Viết thư viện Python hỗ trợ tiền xử lí dữ
liệu văn bản cho mơ hình Text-ToSpeech (ViCleaner)
Hồn thiện và viết unit test cho thư viện
ViCleaner
Làm quen với mơ hình học máy hiện tại
của team, học cách điều chỉnh để huấn
luyện mơ hình
Tìm hiểu thực hành sử dụng một số
dịch vụ của Google Cloud Platform
(GCP)
Xây dựng Text-To-Speech API

Anh Phong, chị Khang,
chị Min và anh Tĩnh
Anh Nguyễn Trần Phong

Tìm hiểu và triển khai các phương pháp
giảm thời gian phản hồi của API

Anh Nguyễn Trần Phong

2
3

4

5

6

7
8

Nhận xét
của người
hướng dẫn

Anh Nguyễn Trần Phong

Anh Nguyễn Trần Phong
Anh Nguyễn Trần Phong

Anh Nguyễn Trần Phong

Anh Nguyễn Trần Phong

Tuần 1 - Làm quen với công ty, setup cơng cụ, máy móc, tự học Python
Nội dung chi tiết
• Được nghe anh Daniel - Co-founder giới thiệu về cơng ty, q trình thành lập và
phát triển, cách công ty tổ chức và quản lý công việc hàng ngày, cũng như
• Thực tập sinh setup máy móc làm việc, các phần mềm lập trình, các cơng cụ giao
tiếp (Slack, Gmail..), cơng cụ quản lý dự án (Github, Jira..).
• Sau đó thực tập sinh tự học về ngơn ngữ lập trình Python để chuẩn bị tham gia
vào dự án ở tuần tiếp theo.

Nguyễn Trần Phong


Dương Bình Trọng


10
Kết quả
• Hiểu thêm về cơng ty CodeLink, q trình thành lập và phát triển.
• Có thêm kỹ năng về sử dụng Slack, Email trong cơng việc, làm việc nhóm, giao
tiếp tốt hơn.
• Có thêm hiểu biết về ngơn ngữ lập trình Python.

Tuần 2 - Tìm hiểu về AI/ML, tham gia vào team HAL
Nội dung chi tiết
• Được anh Phong (người phụ trách/hướng dẫn) giới thiệu tổng quát về dự án hiện
tại mà team đang nghiên cứu và triển khai.
• Team HAL đang phụ trách những dự án liên quan đến AI/ML tập trung vào các
vấn đề xoay quanh Xử lý Ngơn ngữ tự nhiên (NLP).
• Tự học các kiến thức cơ bản nhất về AI/ML
• Tìm hiểu về các công cụ, phần mềm đang được sử dụng trong dự án.
Kết quả
• Hiểu rõ về team cũng như dự án mà mình được phân vào: xây dựng mơ hình
chuyển văn bản thành giọng nói (Text-To-Speech).
• Có thêm được những kiến thức cơ bản nhất về AI/ML.

Tuần 3 - Viết thư viện Python hỗ trợ tiền xử lí dữ liệu văn bản cho mơ hình
Text-To-Speech (ViCleaner)
Nội dung chi tiết
• Sau khi có được những kiến thức về Python, AI/ML cũng như về dự án hiện tại
của team, thực tập sinh nhận task đầu tiên: xây dựng thư viện Python (package)
hỗ trợ tiền xử lí dữ liệu văn bản.

Ví dụ: “Ngày 13/6” -> “Ngày mười ba tháng sáu”
• Phương pháp được lựa chọn là rule-based approach sử dụng regex.
Kết quả
• Khởi tạo được ViCleaner – thư viện hỗ trợ tiền xử lí dữ liệu văn bản nằm trong
source code của project hiện tại.

Tuần 4 - Hoàn thiện và viết unit test cho thư viện ViCleaner
Nội dung chi tiết
• Tìm hiểu về thư viện unittest của Python.
• Di chuyển code ViCleaner ra một repo Github riêng, tái cấu trúc lại mã nguồn
cho dễ đọc, trong sáng hơn.
• Viết unit test cho từng module trong thư viện.

Nguyễn Trần Phong

Dương Bình Trọng


11
Kết quả
• Hồn thiện thư viện ViCleaner.
• Biết cách viết unit test.

Tuần 5 - Làm quen với mơ hình học máy hiện tại của team, học cách điều
chỉnh để huấn luyện mơ hình
Nội dung chi tiết
• Làm quen với một số mơ hình máy học cho việc chuyển văn bản thành giọng nói
(Text-To-Speech) mà team đang nghiên cứu và triển khai như: FastPtich,
WaveGlow, Squeeze.
• Học cách điều chỉnh các thơng số để huấn luyện ra mơ hình cho kết quả tốt hơn.

Kết quả
• Hiểu thêm về một số mơ hình máy học.
• Có cơ hội sử dụng Vertex-AI của GCP để huấn luyện mơ hình.

Tuần 6 - Tìm hiểu thực hành sử dụng một số dịch vụ của Google Cloud
Platform
Nội dung chi tiết
• Tìm hiểu về một số dịch vụ của Google Cloud Platform: Cloud Run, Cloud
Function, Cloud Build, Storage…
• Thực hành deploy một project đơn giản lên Cloud Run và Cloud Function, setup
CI/CD sử dụng Cloud Build.
Kết quả
• Có kiến thức và kinh nghiệm thực chiến về Google Cloud Platform và một số
dịch vụ liên quan.

Tuần 7 - Xây dựng Text-To-Speech API
Nội dung chi tiết
• Tiến hành xây dựng API cho những mơ hình đã huấn luyện sử dụng Flask
(Python) và Cloud Run (GCP).
• Xây dựng website sử dụng API đó.
Kết quả
• Xây dựng thành cơng Text-To-Speech API của cơng ty.

Nguyễn Trần Phong

Dương Bình Trọng


12


Tuần 8 - Tìm hiểu và triển khai các phương pháp giảm thời gian phản hồi
của API
Nội dung chi tiết
• API gặp vấn đề về thời gian phản hồi chưa nhanh như kì vọng với các đoạn văn
bản dài bởi vì thời gian chuyển từ văn bản sang giọng nói của mơ hình cịn chậm.
• Các hướng giải quyết:
o Nghiên cứu thêm trên mơ hình hiện tại nhằm giảm thời gian inference
o Vertical API Scale
o Horizontal API Scale
• Quyết định áp dụng Horizontal API Scale.
Kết quả
• Giảm được thời gian phản hồi của API từ 50-60%.

Nguyễn Trần Phong

Dương Bình Trọng


13

GIỚI THIỆU VỀ DỰ ÁN
Tổng quan
Dự án ban đầu được triển khai như là một sân chơi để các nhân viên trong cơng
ty (team) có một sân chơi để thoả thích tìm hiểu, học hỏi thêm về AI/ML. Trước đó,
team đã tiến hành tìm hiểu, vọc vành các mảng khác nhau liên quan đến AI/ML và quyết
định sẽ tập trung vào các bài toán liên quan đến văn bản và giọng nói tiếng Việt.
Thực hiện
Trước khi em vào thực tập, team đã nghiên cứu và triển khai thành công API
chuyển giọng nói thành văn bản. Trong q trình thực tập, em đã được tham gia vào
quá trình phát triển API chuyển văn bản thành giọng nói với sự giúp đỡ của anh Phong

– Technical Leader của công ty.
Kết quả
Xây dựng thành công API và được demo/triển khai tại đường link:
/>
Nguyễn Trần Phong

Dương Bình Trọng


14

TÀI LIỆU THAM KHẢO
[1] />[2] />[3] />[4] Cùng một số tài liệu nội bộ của dự án

Nguyễn Trần Phong

Dương Bình Trọng


15

TỔNG KẾT
Qua 2 tháng thực tập tại công ty, em đã được cống hiến cơng sức của mình vào
việc xây dựng một Text-To-Speech API cùng với website demo. Em may mắn được
tham gia từ những bước đầu tiên nhất như tiền xử lí dữ liệu, huấn luyện mơ hình cho
đến việc triển khai API để sử dụng mơ hình đó.
Chân thành cảm ơn cơ hội thực tập tại công ty CodeLink và đặc biệt là sự giúp
đỡ rất nhiệt tình từ anh Phong đã giúp em hoàn thành tốt đợt thực tập. Cũng xin cảm ơn
thầy cô trong khoa Công nghệ phần mềm đã nhiệt tình hỗ trợ, tạo điều kiện giúp em
hoàn thành bài báo cáo này.


Nguyễn Trần Phong

Dương Bình Trọng



×