Chúng tôi không thể tìm thấy kết nối internet
Đang cố gắng kết nối lại
Có lỗi xảy ra!
Hãy kiên nhẫn trong khi chúng tôi khắc phục sự cố
Tinh chỉnh Mô hình Thị giác GPT-4o: Hình ảnh Tùy chỉnh & Định dạng Đầu ra
0:00 hi friends let's fine tune GPT 40 Vision
0:05 with our own images and a custom output
0:09 format before that let's see how to use
0:13 the pre-train model as it
0:15 is and then we prepare the data finetune
0:19 the pre-train model and finally use the
0:22 finetune model now among these four
0:25 steps only preparing the training data
0:28 requires a bit of work but the other
0:31 three steps it's a standard apis we
0:33 don't have to do much okay all right
0:36 let's import open AI client so here I
0:40 have an
0:40 image URL so we have an image of a car
0:44 uh with some damage uh at the front
0:48 okay all
0:51 right so it's just like how we invoke
0:55 the text uh chat completion models open
0:58 a they have standardized the API uh so
1:01 that whether it is text or images or
1:03 multimodel uh it's exactly the same okay
1:07 so we are using GPT 4 mini model and
1:10 then uh if you have used open AI before
1:13 we have three roles right the system the
1:16 user and the assistant when we invoke we
1:19 can provide the system and the user so
1:21 in this case we are providing the user
1:23 role along with the user content now for
1:26 text only tasks we generally provide the
1:29 text
1:30 or the user prompt uh as the content but
1:33 when we use in a multimodel way we have
1:36 to specify the type of the content along
1:39 with the actual content okay so here we
1:41 are saying the type is going to be text
1:43 and the text which is the text prompt uh
1:46 we are basically asking what's in this
1:48 image answer in one sentence okay and
1:50 then we still have more user content the
1:53 type is image URL and we provide the URL
1:55 of the image now we can provide multiple
1:57 images as well all right Max token this
2:00 is the output token just 100 and we
2:02 invoke the model okay so for the image
2:04 we just saw uh the output is the image
2:07 shows a gray sports car with significant
2:09 front end damage parked on a wed surface
2:12 which is exactly what the image shows
2:14 all right but uh we often have the
2:17 images uh locally are on some cloud
2:19 storage right we may not have these URLs
2:22 so let's see how to make the inference
2:24 uh when we have a local image okay so
2:27 it's very simple all we need to do is
2:29 just this
2:30 base encode base 64 encode the image so
2:33 here we have an helper function we read
2:35 the content of the image and then we
2:38 encode in this base 64 format okay once
2:41 we have that encoded image uh we can
2:45 make an image URL uh using this okay
2:48 then it's the exactly the same as what
2:51 we saw before but this time instead of
2:52 having this https uh uh URL this time we
2:57 have this base 64 encoded uh
3:00 uh URL all right uh this is a different
3:02 image and we have uh uh the output now
3:05 let's see how to prepare the training
3:07 data now just to make it interesting
3:09 let's say uh we work at an automobile
3:11 insurance company and we get these
3:16 claims uh which include let's say
3:19 damaged car images we want to
3:21 automatically assess the
3:23 damage and also detect what parts the
3:25 CVR level Etc okay so for a given image
3:28 we are interested in three things which
3:31 part is damaged what type of damage it
3:33 is and the Damage sity okay so that we
3:36 can automatically or quickly process uh
3:38 the claims now so to train we need
3:43 examples and we are going to prepare a
3:45 Jon L file where we have one example per
3:49 line okay so here is one example format
3:53 so we would have three roles okay the
3:56 system role and the system content now
3:59 for the system content we can say
4:00 something like you are an assistant that
4:02 identify which parts of the car is
4:03 damaged and the cvrt level so and so
4:04 forth and then we have the user
4:06 role we can give it a user prompt along
4:10 with the images okay and finally we
4:13 would have the assistant role with the
4:16 assistant answer or the response okay
4:19 this is for training the data now during
4:20 the inference we would not have the
4:23 assistant role right that's the model
4:25 act as an assistant and provide as its
4:27 response okay so this is like the ground
4:31 truth all right um okay so we need to
4:35 provide at least 10 examples to fine
4:37 tune uh Vision model now here what I
4:41 have done is I have prepared some data
4:44 or images uh about some 15 images now
4:48 the ground Truth uh depending on how we
4:49 collected the data and how we annotated
4:51 we might have a separate text file with
4:53 the ground tooth or we might organize
4:55 these uh images into different folders
4:57 based on uh the ground tooth but here I
5:00 have uh renamed the images to have the
5:03 ground Truth uh itself uh in the name of
5:05 the images so for example if you look at
5:07 this image uh here we have uh a car with
5:11 bumper Dent uh which is minor okay so
5:14 that's how I uh Reen the images first
5:17 the part of the car which has damaged
5:20 and the type of the damage is it a dent
5:23 or a scratch or shter things like that
5:26 and then is it minor or major okay so
5:29 that's our ground
5:32 truth so we'll come back to this pantic
5:35 we don't have to worry now we are going
5:37 to create this Json line file for
5:40 training the or fine-tuning the model so
5:42 what we are doing is we are going over
5:44 all the images within that folder so we
5:47 read the we read each
5:49 image we encode the image and create a
5:54 URL out of it and then using the image
5:57 name which contains
6:00 which part of the car is damaged and the
6:02 type of the damage and the severity of
6:04 the damage okay so we extract these
6:06 three pieces of information from the
6:08 name of the file now as I said this
6:11 depends on how we annotate the data we
6:12 might have a separate text or Json file
6:14 with this information or we might have
6:16 structured the files in such a way that
6:19 uh the folder name has uh this
6:22 information okay all right then so here
6:25 we have one
6:27 example now the system for the system
6:31 prompt it typically does not change and
6:33 here we are saying you are an
6:35 assistant that identify which part of
6:38 the car is damaged uh so and so forth
6:40 now for each example the user content
6:42 change but in our case we'll keep the
6:44 user content also the same but that uh
6:46 need not be the case but in general the
6:48 system content will remain uh uh the
6:50 same okay so the user content we are
6:52 saying identify which part of the damage
6:54 uh is uh damaged the sity level and
6:58 possible values for the damaged are
7:00 bumper door glass now this is just for
7:01 the demo purpose which is very narrow
7:03 scope but we can have a more exhaustive
7:06 uh list which more comprehensive list
7:08 and then the possible values for the
7:10 damage type are Dent scratch and shter
7:12 and finally the possible values for the
7:14 cvrt level minor and major again
7:16 depending on the client the use case Etc
7:18 we might have maybe moderate minor uh
7:21 major or written off completely written
7:23 off things like that right and then we
7:26 have the user content which is uh the
7:28 image URL which which is coming from uh
7:30 this base 64 encoded one all right and
7:33 finally we have the assistant uh here we
7:35 have the ground truth which include
7:38 these three pieces of information for
7:39 each image okay which we are extracting
7:41 from the image name itself all right we
7:43 prepare the data we write it to a Json
7:46 line file and if you look at the content
7:48 of the file for example here we have the
7:49 first uh
7:51 record uh so we have three roles system
7:54 and the system prompt the user uh the
7:56 user text prompt okay with what
7:59 information to extract the three pieces
8:01 of information and then the user content
8:03 this is the content of our image in that
8:06 uh encoded format
8:08 okay now we can have uploaded these
8:10 images to some cloud storage and provide
8:12 the https URL as well and finally we
8:16 have the assistant with the content with
8:19 the three pieces of information are the
8:21 ground truth okay so in this case the
8:23 damaged partt is door damage type is
8:24 scratch and the CVR is minor now this is
8:27 the final example uh it's exactly the
8:30 same okay so preparing the data is the
8:32 most challenging part I ran into couple
8:34 of issues for example now the content uh
8:38 it has to be a string okay so I was just
8:40 using the ground truth which is actually
8:42 a string but even the string needs to be
8:45 enclosed uh Within These uh codes okay
8:48 and the other thing is first I tried
8:49 with just 10 examples even though those
8:51 are local images the open a I said uh it
8:55 cannot use two images uh for some issue
8:58 uh even though there is no issue with
9:00 those images okay it said some
9:02 compliance purpose something like that
9:03 which is not correct so have more images
9:06 right all right once we
9:08 have prepared the training data then
9:10 it's super easy so we use the same
9:12 client openi client first to upload our
9:15 training data to
9:18 the uh to our account okay so uh the
9:21 purpose uh there are set it to fine tune
9:24 once we upload the file uh we get a file
9:26 ID so this is our file ID okay we we see
9:30 some of it on the UI as well so we have
9:32 uploaded the file successfully and then
9:34 we simply need to create a fine-tuning
9:36 job okay so the only thing we need to
9:39 provide is uh the file ID that's why we
9:41 need to keep track of the IDS not the
9:43 file names okay this is our file ID and
9:45 then the model now GPT 4 meaning uh it
9:48 cannot be fine-tuned so for the vision
9:50 uh we can currently fine tune only GPT 4
9:53 this version of the model okay so set
9:55 the number of ooks again for demo
9:57 purpose only one epoke and if if you
9:59 want we can provide a separate
10:00 validation file okay so while the model
10:03 is fine tuned we can track the scores on
10:05 validation file also all right just run
10:07 it and then from the response ID we will
10:10 get the fine tuning job ID okay then
10:12 using this list events we can check uh
10:16 the status of the job so initially it
10:17 will be submitted and once the job is
10:19 completed uh it says uh that the job has
10:21 successfully completed okay and we get
10:24 lots of information like uh the model
10:25 performance so and so forth uh for
10:27 example here uh
10:29 I think jobs retri okay so here we are
10:32 uh extracting all the fine tuning jobs
10:35 and the results uh which we see on the
10:37 UI uh that file also we can access using
10:40 uh this file ID it's a metric uh and
10:43 finally in order to use the model it's
10:45 exactly the same but instead of using uh
10:47 the standard model now we have a ID for
10:50 our own model so it is typically
10:52 finetune uh the base model GPT 40 and
10:55 the version and then it's personal and a
10:58 random ID created by uh uh the SDK okay
11:02 so again I have an
11:04 image and the standard
11:08 invocation with image URL okay and here
11:12 is our response now as you can see the
11:14 output contains what part of the car is
11:18 damaged and then the damage type is it a
11:22 dent or scratch or shorter Etc and then
11:26 the CVR level okay exactly what we have
11:29 cost for now coming to this pantic now
11:31 we know at the time of inference uh we
11:33 can have a structured output by
11:36 enforcing uh this uh some pantic model
11:39 right like these three variables now I
11:41 try to do that when creating the
11:43 training data uh but uh it's not
11:46 accepting okay so currently the
11:48 fine-tuning jobs uh they don't accept uh
11:50 this response format uh in the training
11:52 data all right now if you look at uh the
11:55 SD uh the console so this is my I logged
11:58 into my open AI account uh this is how
12:00 it looks like and maybe I'll show you on
12:03 the storage we will see all our training
12:06 data files so these These are multiple
12:09 training data files I uploaded but going
12:11 to fine tuning jobs uh so as I said I
12:15 failed a number of times that's because
12:17 of slight
12:19 differences slight differences uh are
12:21 the issues in the training file format
12:25 okay eventually the job got succeeded
12:27 and this is how it looks like so if look
12:29 at the
12:30 messages uh the job is submitted finally
12:32 the job is completed but we are more
12:33 interested in this metrics so here you
12:35 will see the training loss it started at
12:37 some high value 1.6 Y and we trained it
12:39 for only one epoke and during that epoke
12:41 uh within the steps it has reduced
12:44 substantially it seems we can still
12:46 improve the model performance so maybe
12:48 running for couple of more ooks is a
12:49 good idea and since we haven't supplied
12:51 validation file uh there is no
12:53 validation loss but we can supply a
12:55 separate validation file as well
12:57 okay uh that's all for this video thank
12:59 you very much
0:00 Chào mọi người, hôm nay chúng ta sẽ tìm hiểu cách tinh chỉnh GPT 4.0 Vision bằng hình ảnh của riêng mình và tùy chỉnh định dạng đầu ra. Đầu tiên, chúng ta sẽ xem cách sử dụng mô hình đã được đào tạo sẵn, sau đó chuẩn bị dữ liệu, tinh chỉnh mô hình và cuối cùng là sử dụng mô hình đã tinh chỉnh. Trong bốn bước này, việc chuẩn bị dữ liệu huấn luyện sẽ tốn công sức hơn một chút, còn ba bước còn lại đều là các API tiêu chuẩn, không cần phải làm nhiều. Ok, bắt đầu thôi.
0:36 Chúng ta sẽ nhập open AI client. Ở đây, tôi có một URL hình ảnh. Đây là hình ảnh một chiếc xe hơi bị hư hỏng phần đầu. Ok. Cách chúng ta gọi các mô hình hoàn thành trò chuyện bằng văn bản cũng tương tự. Open AI đã chuẩn hóa API, dù là văn bản, hình ảnh hay đa phương thức, cách dùng đều giống nhau. Ok.
1:07 Chúng ta đang sử dụng mô hình GPT 4 mini. Nếu bạn đã từng sử dụng open AI, chắc hẳn bạn đã biết đến ba vai trò: hệ thống, người dùng và trợ lý. Khi gọi, chúng ta có thể cung cấp vai trò hệ thống và người dùng. Trong trường hợp này, chúng ta cung cấp vai trò người dùng cùng với nội dung người dùng. Đối với các tác vụ chỉ có văn bản, chúng ta thường cung cấp văn bản hoặc lời nhắc của người dùng làm nội dung. Nhưng khi sử dụng theo cách đa phương thức, chúng ta phải chỉ định loại nội dung cùng với nội dung thực tế.
1:41 Ok, ở đây chúng ta khai báo loại nội dung là văn bản và văn bản này là lời nhắc văn bản. Về cơ bản, chúng ta hỏi "Trong hình ảnh này có gì, hãy trả lời trong một câu". Ok, và sau đó chúng ta cung cấp thêm nội dung người dùng. Loại nội dung là URL hình ảnh và chúng ta cung cấp URL của hình ảnh. Chúng ta cũng có thể cung cấp nhiều hình ảnh. Ok, Max token là số lượng token đầu ra, ở đây là 100, và chúng ta gọi mô hình.
2:02 Ok, với hình ảnh chúng ta vừa thấy, đầu ra là "Hình ảnh cho thấy một chiếc xe thể thao màu xám bị hư hỏng đáng kể ở phần đầu, đang đậu trên một bề mặt ẩm ướt". Mô tả này hoàn toàn chính xác với hình ảnh. Ok, nhưng thông thường chúng ta có hình ảnh lưu trữ cục bộ hoặc trên một số bộ nhớ đám mây, chứ không phải các URL trực tiếp. Vậy, hãy xem cách thực hiện suy luận khi chúng ta có một hình ảnh cục bộ.
2:27 Ok, rất đơn giản. Tất cả những gì chúng ta cần làm là mã hóa base64 hình ảnh. Ở đây, tôi có một hàm hỗ trợ. Chúng ta đọc nội dung của hình ảnh và sau đó mã hóa nó ở định dạng base64. Ok, khi có hình ảnh đã được mã hóa, chúng ta có thể tạo URL hình ảnh theo cách này. Ok, sau đó mọi thứ hoàn toàn giống như trước đây, nhưng lần này, thay vì có URL https, chúng ta có URL đã được mã hóa base64. Ok, đây là một hình ảnh khác và đây là đầu ra.
3:05 Bây giờ, hãy xem cách chuẩn bị dữ liệu huấn luyện. Để cho thú vị, giả sử chúng ta làm việc tại một công ty bảo hiểm ô tô và chúng ta nhận được các yêu cầu bồi thường, bao gồm cả hình ảnh xe hơi bị hư hỏng. Chúng ta muốn tự động đánh giá thiệt hại và xác định các bộ phận bị hư hỏng ở cấp độ CVR, v.v. Ok, với một hình ảnh nhất định, chúng ta quan tâm đến ba điều: bộ phận nào bị hư hỏng, loại hư hỏng nào và mức độ nghiêm trọng của hư hỏng. Ok, để chúng ta có thể tự động hoặc nhanh chóng xử lý các yêu cầu bồi thường.
3:40 Để đào tạo, chúng ta cần các ví dụ và chúng ta sẽ chuẩn bị một tệp JSON Lines, trong đó mỗi dòng là một ví dụ. Ok, đây là định dạng của một ví dụ. Chúng ta sẽ có ba vai trò: vai trò hệ thống và nội dung hệ thống. Đối với nội dung hệ thống, chúng ta có thể nói "Bạn là một trợ lý xác định bộ phận nào của xe bị hư hỏng và mức độ CVR, v.v.". Sau đó, chúng ta có vai trò người dùng. Chúng ta có thể cung cấp cho nó một lời nhắc của người dùng cùng với hình ảnh. Ok? Và cuối cùng, chúng ta sẽ có vai trò trợ lý với câu trả lời hoặc phản hồi của trợ lý.
4:19 Đây là định dạng cho dữ liệu huấn luyện. Trong quá trình suy luận, chúng ta sẽ không có vai trò trợ lý, đúng không? Vì mô hình sẽ hoạt động như một trợ lý và đưa ra phản hồi. Ok, đây giống như ground truth (sự thật cơ bản). Ok, chúng ta cần cung cấp ít nhất 10 ví dụ để tinh chỉnh mô hình Vision. Ở đây, tôi đã chuẩn bị một số dữ liệu, khoảng 15 hình ảnh.
4:48 Về ground truth, tùy thuộc vào cách chúng ta thu thập và chú thích dữ liệu, chúng ta có thể có một tệp văn bản riêng biệt chứa ground truth, hoặc chúng ta có thể sắp xếp các hình ảnh này vào các thư mục khác nhau dựa trên ground truth. Nhưng ở đây, tôi đã đổi tên hình ảnh để tên của hình ảnh chứa chính ground truth. Ví dụ, nếu bạn nhìn vào hình ảnh này, chúng ta thấy một chiếc xe hơi với...
5:11 ...một vết lõm nhỏ ở cản. Ok, đó là cách tôi đổi tên hình ảnh: đầu tiên là bộ phận của xe bị hư hỏng, sau đó là loại hư hỏng (vết lõm, vết trầy xước hay vỡ, v.v.) và cuối cùng là mức độ nghiêm trọng (nhỏ hay lớn). Ok, đó là ground truth của chúng ta. Chúng ta sẽ quay lại phần này sau. Bây giờ, chúng ta sẽ tạo tệp JSON Lines này để đào tạo hoặc tinh chỉnh mô hình.
5:42 Chúng ta sẽ xem xét tất cả các hình ảnh trong thư mục đó. Chúng ta đọc từng hình ảnh, mã hóa nó và tạo một URL từ nó. Sau đó, sử dụng tên hình ảnh, chứa thông tin về bộ phận nào của xe bị hư hỏng, loại hư hỏng và mức độ nghiêm trọng. Ok, chúng ta trích xuất ba phần thông tin này từ tên của tệp. Như tôi đã nói, điều này phụ thuộc vào cách chúng ta chú thích dữ liệu. Chúng ta có thể có một tệp văn bản hoặc JSON riêng biệt chứa thông tin này, hoặc chúng ta có thể cấu trúc các tệp sao cho tên thư mục chứa thông tin này. Ok.
6:25 Tiếp theo, chúng ta có một ví dụ. Đối với lời nhắc hệ thống, nó thường không thay đổi. Ở đây, chúng ta nói "Bạn là một trợ lý xác định bộ phận nào của xe bị hư hỏng, v.v.". Đối với mỗi ví dụ, nội dung người dùng sẽ thay đổi, nhưng trong trường hợp này, chúng ta sẽ giữ nguyên nội dung người dùng. Tuy nhiên, điều này không bắt buộc, nhưng nói chung, nội dung hệ thống sẽ không đổi. Ok, nội dung người dùng của chúng ta là "Xác định bộ phận nào của xe bị hư hỏng, mức độ nghiêm trọng và các giá trị có thể có cho bộ phận hư hỏng là cản, cửa, kính".
7:00 Đây chỉ là ví dụ minh họa, phạm vi rất hẹp. Chúng ta có thể có một danh sách đầy đủ và toàn diện hơn. Các giá trị có thể có cho loại hư hỏng là vết lõm, vết trầy xước và vỡ. Cuối cùng, các giá trị có thể có cho mức độ nghiêm trọng là nhỏ và lớn. Tùy thuộc vào khách hàng, trường hợp sử dụng, v.v., chúng ta có thể có trung bình, nhỏ, lớn hoặc bị xóa sổ hoàn toàn. Ok? Sau đó, chúng ta có nội dung người dùng, là URL hình ảnh, đến từ mã hóa base64.
7:33 Cuối cùng, chúng ta có trợ lý. Ở đây, chúng ta có ground truth, bao gồm ba phần thông tin này cho mỗi hình ảnh, mà chúng ta trích xuất từ chính tên hình ảnh. Ok, chúng ta chuẩn bị dữ liệu và ghi nó vào một tệp JSON Lines. Nếu bạn xem nội dung của tệp, ví dụ, ở đây chúng ta có bản ghi đầu tiên. Chúng ta có ba vai trò: hệ thống và lời nhắc hệ thống, người dùng và lời nhắc văn bản của người dùng, với thông tin cần trích xuất (ba phần thông tin), và nội dung người dùng. Đây là nội dung hình ảnh của chúng ta ở định dạng đã mã hóa.
8:08 Bây giờ, chúng ta có thể tải những hình ảnh này lên một số bộ nhớ đám mây và cung cấp URL https. Cuối cùng, chúng ta có trợ lý với nội dung chứa ba phần thông tin là ground truth. Trong trường hợp này, bộ phận bị hư hỏng là cửa, loại hư hỏng là vết trầy xước và mức độ nghiêm trọng là nhỏ. Đây là ví dụ cuối cùng, hoàn toàn giống nhau. Ok, chuẩn bị dữ liệu là phần khó khăn nhất. Tôi đã gặp một vài vấn đề. Ví dụ, nội dung phải là một chuỗi. Tôi đã sử dụng ground truth như một chuỗi, nhưng ngay cả chuỗi cũng cần được đặt trong dấu ngoặc kép.
8:48 Ban đầu, tôi thử chỉ với 10 hình ảnh cục bộ, nhưng open AI báo lỗi không thể sử dụng hai hình ảnh do một số vấn đề, mặc dù không có vấn đề gì với những hình ảnh đó. Nó nói liên quan đến một số mục đích tuân thủ, không chính xác lắm. Vì vậy, cần có nhiều hình ảnh hơn. Ok, khi chúng ta đã chuẩn bị dữ liệu huấn luyện, mọi thứ trở nên cực kỳ dễ dàng. Chúng ta sử dụng cùng một ứng dụng khách open AI để tải dữ liệu huấn luyện lên tài khoản của mình. Mục đích là để tinh chỉnh.
9:24 Khi tải tệp lên, chúng ta sẽ nhận được ID tệp. Đây là ID tệp của chúng ta. Chúng ta cũng thấy thông tin này trên giao diện người dùng. Chúng ta đã tải tệp lên thành công và sau đó chỉ cần tạo một công việc tinh chỉnh. Điều duy nhất chúng ta cần cung cấp là ID tệp. Đó là lý do tại sao chúng ta cần theo dõi các ID, không phải tên tệp. Đây là ID tệp của chúng ta và...
9:45 ...sau đó là mô hình. GPT 4 không thể được tinh chỉnh. Đối với Vision, hiện tại chúng ta chỉ có thể tinh chỉnh GPT 4, phiên bản mô hình này. Chúng ta đặt số lượng epoch là một, chỉ để minh họa. Nếu muốn, chúng ta có thể cung cấp một tệp xác thực riêng biệt. Trong khi mô hình được tinh chỉnh, chúng ta có thể theo dõi điểm số trên tệp xác thực. Chỉ cần chạy nó và từ ID phản hồi, chúng ta sẽ nhận được ID công việc tinh chỉnh. Sử dụng danh sách sự kiện này, chúng ta có thể kiểm tra trạng thái của công việc.
10:16 Ban đầu, trạng thái sẽ là "đã gửi". Khi công việc hoàn thành, nó sẽ báo "công việc đã hoàn thành thành công". Chúng ta nhận được rất nhiều thông tin như hiệu suất mô hình, v.v. Ví dụ, ở đây, tôi nghĩ công việc đã thử lại. Chúng ta đang trích xuất tất cả các công việc tinh chỉnh và kết quả mà chúng ta thấy trên giao diện người dùng. Chúng ta cũng có thể truy cập tệp đó bằng ID tệp này. Đó là một số liệu. Cuối cùng, để sử dụng mô hình, mọi thứ hoàn toàn giống nhau, nhưng thay vì sử dụng mô hình tiêu chuẩn, bây giờ chúng ta có một ID cho mô hình của riêng mình.
10:50 ID này thường có dạng "tinh chỉnh, mô hình cơ sở GPT 4.0 và phiên bản, sau đó là 'cá nhân' và một ID ngẫu nhiên được tạo bởi SDK". Ok, tôi có một hình ảnh và lời gọi tiêu chuẩn với URL hình ảnh. Đây là phản hồi của chúng ta. Như bạn có thể thấy, đầu ra chứa thông tin về bộ phận nào của xe bị hư hỏng, loại hư hỏng (vết lõm, vết trầy xước, v.v.) và mức độ nghiêm trọng. Chính xác những gì chúng ta mong muốn.
11:30 Quay lại vấn đề Pydantic, chúng ta biết rằng tại thời điểm suy luận, chúng ta có thể có một đầu ra có cấu trúc bằng cách thực thi mô hình Pydantic, với ba biến này. Tôi đã cố gắng làm điều đó khi tạo dữ liệu huấn luyện, nhưng nó không được chấp nhận. Hiện tại, các công việc tinh chỉnh không chấp nhận định dạng phản hồi này trong dữ liệu huấn luyện.
11:52 Ok, bây giờ nếu bạn xem trên bảng điều khiển của Open AI, đây là tài khoản của tôi. Đây là giao diện của nó. Để tôi cho bạn xem phần bộ nhớ. Ở đây, chúng ta sẽ thấy tất cả các tệp dữ liệu huấn luyện của mình. Đây là các tệp dữ liệu huấn luyện mà tôi đã tải lên. Chuyển sang phần công việc tinh chỉnh, như tôi đã nói, tôi đã thất bại nhiều lần do những khác biệt nhỏ, những vấn đề nhỏ trong định dạng tệp huấn luyện.
12:25 Cuối cùng, công việc đã thành công và đây là giao diện của nó. Nếu bạn xem các thông báo, công việc đã được gửi và cuối cùng đã hoàn thành. Nhưng chúng ta quan tâm nhiều hơn đến các số liệu này. Ở đây, bạn sẽ thấy tổn thất huấn luyện. Nó bắt đầu ở một giá trị cao, khoảng 1.6, và chúng ta đã huấn luyện nó chỉ trong một epoch. Trong epoch đó, qua các bước, nó đã giảm đáng kể. Có vẻ như chúng ta vẫn có thể cải thiện hiệu suất mô hình, vì vậy chạy thêm một vài epoch có thể là một ý kiến hay. Vì chúng ta chưa cung cấp tệp xác thực, nên không có tổn thất xác thực, nhưng chúng ta cũng có thể cung cấp một tệp xác thực riêng biệt.
12:57 Ok, đó là tất cả cho video này. Cảm ơn các bạn rất nhiều.
Dịch Vào Lúc: 2025-03-02T16:26:54Z
Phiên bản Dịch: 3.1 Improved translation step with full context