System and method for preference advertisement filtering trained over hierarchical distribution

By using knowledge distillation and quantization techniques in a privacy-preserving machine learning architecture to train a personalized ad filtering sub-model, the limitations and latency issues of rule-based ad blockers in Manifest V3 are resolved, achieving fast, intelligent, and covert ad filtering, thus improving user experience and privacy protection.

CN121693750APending Publication Date: 2026-03-17SAMSUNG ELECTRONICS CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202480052696.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-08-24
Filing Date
2024-08-01
Publication Date
2026-03-17

AI Technical Summary

Technical Problem

Existing rule-based ad blockers are limited by the number of filters in the Chromium Extended Application Programming Interface (API) standard (Manifest V3), resulting in limited functionality. There is also a delay between ad reporting and performance, and some blockers are too aggressive, affecting publisher revenue, and lack privacy protection and consideration for user preferences.

Method used

We employ a robust privacy-preserving machine learning architecture, reduce the size of the main model through knowledge distillation and quantization techniques, train personalized sub-models using user feedback, and combine differential privacy guarantees to achieve fast ad detection and blocking, reducing latency and workload.

Benefits of technology

It enables faster, smarter, and more discreet ad detection and blocking, reducing the time users spend seeing unwanted ads, improving user experience, and supporting legitimate ad display for businesses and websites while maintaining privacy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121693750A_ABST
    Figure CN121693750A_ABST
Patent Text Reader

Abstract

An electronic device is provided. The electronic device includes a memory configured to store a first sub-model corresponding to a master model and one or more computer programs, the master model being stored in a server, and the first sub-model being obtained by reducing a size of the master model and the one or more computer programs being obtained by reducing a size of the master model. The communication circuit is configured to communicate with a server including a master model, the one or more processors are communicatively coupled to the communication circuit, the display, and the memory, and wherein the one or more computer programs include computer executable instructions that, when executed individually or collectively by the one or more processors, transmit the computer executable instructions to the one or more processors. Causing the electronic device to: control the display to display a first screen including an advertisement, obtain a first user input for blocking the advertisement, obtain a second screen without the advertisement when the first screen and the first user input are input into the first sub-model, control the display to display the second screen without the advertisement, based on a first predetermined event being recognized, first user data including the first user input, the first screen, and the second screen is obtained, and a second sub-model is obtained by retraining the first sub-model based on the first user data.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates to an artificial intelligence (AI) optimized ad filtering system aimed at supporting personalized ad blocking. More specifically, the present disclosure relates to a method for said AI optimized ad filtering. BACKGROUND

[0002] An ad blocker is an extension, application, or service that prevents a browser or application from downloading unwanted elements of the content a user is accessing. The most prevalent form of ad blocking today is rule-based, which primarily utilizes regular expressions (regexes) that follow a specific syntax to determine whether a resource should be blocked. Ads are blocked through a combination of two methods, namely, by blocking network requests and hypertext markup language (HTML) elements, and there are specific rules that handle each.

[0003] Rules that handle network requests focus on resource blocking, which relies on regular expressions that match exact domains or parts of domains. Once a rule matches a network request, the network request is blocked, resulting in a failed load. Rules for handling HTML elements, also known as reshaping filters, also use regular expressions to specify the domain(s) that the rule should apply to and use cascading style sheet (CSS) rule syntax to hide elements.

[0004] However, the development of ad blockers is experiencing several challenges. Certain developments in the Chromium extension application programming interface (API) standards (e.g., Manifest V3) threaten to break the functionality of current ad blockers. One of the main threats is the imposition of a severe limit on the number of filters that can be enabled (5,000 unique rules), which is too small for most popular filter lists and much smaller for multiple filter lists at the same time. Manifest V3 poses a significant threat to rule-based ad blockers due to these new limitations.

[0005] Another issue with rule-based ad blockers is the delay between reporting a new ad and adding it to the filter list. As an example, for Samsung Internet (SI), the internal process typically takes about 1-2 days. It starts with a user report, then the team will inspect the site and identify what rules to add. Once that is done, it is reported to the external team, which conducts their own investigation and updates their filter list as needed. On the external side, the repository of filter lists for most large ad blockers is updated quite frequently, about 10-20 times a day.

[0006] Another challenge with rule-based ad blockers is that some of them are too aggressive in blocking ads and thus harm the publisher’s revenue. One way to address this issue is to have acceptable ad standards that respect user privacy and easier ways to allow acceptable ads.

[0007] The present disclosure addresses these and other issues by providing a system that allows user preferred ads via crowdsourced feedback fed into a privacy preserving machine learning architecture, making it easier to allow user preferred ads. This makes it easier for consumers to support businesses and websites, addressing the unintended consequence of the proliferation of unwanted ads due to the increase in privacy.

[0008] U.S. Patent Application No. 20180075459A1 discloses a neural network-based inferential advertising system and method that delivers interactive ads to an ad recipient according to user-selected restrictions and an advertising preference inference, where the user-selected restrictions inform behavioral information upon which the advertising preference inference is made, and the advertising preference inference is made based on an interpretation of content by a computer-implemented neural network. The behavioral information upon which the advertising inference is made can include physical movements of the ad recipient performed without physical interaction with a device. Interactions of the ad recipient with the delivered ads can include verbal and gesture-based interactions.

[0009] The above information is presented as background information only to assist with an understanding of the present disclosure. No determination has been made, and no assertion is made, as to whether any of the above might be applicable as prior art with regard to the present disclosure. SUMMARY

[0010] TECHNICAL SOLUTION

[0011] Aspects of the present disclosure are directed to an AI-optimized ad filtering system that utilizes a robust privacy preserving machine learning architecture to detect and block updated, smarter, and more stealthy ads faster, addressing the limitations of rule-based ad blocking.

[0012] Another aspect of the present disclosure is to provide a system and method that reduces the delay and effort between ad reporting and effectiveness, thus reducing the amount of time users see unwanted ads, including malicious ads.

[0013] Additional aspects will be set forth in part in the description which follows, and in part will become apparent to those skilled in the art upon examination of the following description and drawings.

[0014] According to an aspect of the disclosure, an electronic device is provided. The electronic device includes a memory configured to store a first sub-model corresponding to a main model and one or more computer programs, the main model being stored in a server and the first sub-model being obtained by reducing a size of the main model, a communication circuit configured to communicate with the server including the main model, and one or more processors communicatively coupled to the communication circuit, the display, and the memory, wherein the one or more computer programs include computer-executable instructions that, when executed by the one or more processors alone or collectively, cause the electronic device to control the display to display a first screen including an advertisement, obtain a first user input for blocking the advertisement, obtain a second screen without the advertisement when the first screen and the first user input are input into the first sub-model, control the display to display the second screen without the advertisement, obtain first user data including the first user input, the first screen, and the second screen based on a first predetermined event being identified, and obtain a second sub-model by retraining the first sub-model based on the first user data.

[0015] The main model is obtained by being trained on the server. The first sub-model is obtained by training the main model based on at least one of knowledge distillation or quantization on the server.

[0016] The one or more computer programs further include computer-executable instructions that, when executed by the one or more processors alone or collectively, cause the electronic device to receive the first sub-model from the server through the communication circuit and store the first sub-model in the memory.

[0017] The one or more computer programs further include computer-executable instructions that, when executed by the one or more processors alone or collectively, cause the electronic device to obtain the second screen by performing a function for blocking the advertisement through the first sub-model.

[0018] The first predetermined event includes an event for performing a training mode related to a function for blocking the advertisement of the sub-model.

[0019] Based on a second predetermined event being identified, the one or more computer programs further include computer-executable instructions that, when executed by the one or more processors alone or collectively, cause the electronic device to transmit the second sub-model to the server through the communication circuit.

[0020] The second predetermined event includes an event indicating that a predetermined period of time has elapsed.

[0021] The first sub-model is stored in another electronic device. The server can receive a third sub-model from this other electronic device. The third sub-model is obtained by retraining the first sub-model based on second user data from the other electronic device.

[0022] One or more computer programs also include computer-executable instructions, which, when executed individually or jointly by one or more processors, cause an electronic device to: receive a fourth sub-model from a server via a communication circuit, and store the fourth sub-model in memory. The master model is a first master model. The fourth sub-model is obtained by retraining a second master model on the server based on at least one of knowledge distillation or quantization. The second master model is obtained by retraining the first master model on the server based on the second and third sub-models.

[0023] One or more computer programs also include computer-executable instructions that, when executed individually or jointly by one or more processors, cause an electronic device to obtain Hypertext Markup Language (HTML) elements and web elements based on a first screen, and to obtain a second screen without advertisements when HTML elements, web elements, and first user input are input into a first sub-model.

[0024] According to another aspect of this disclosure, a method is provided executed by an electronic device storing a first sub-model corresponding to a master model, wherein the master model is stored in a server, and wherein the first sub-model is obtained by reducing the size of the master model. The control method includes: displaying a first screen including advertisements by the electronic device; obtaining first user input for blocking the advertisements by the electronic device; obtaining a second screen without advertisements by the electronic device when the first screen and the first user input are input into the first sub-model; displaying the second screen without advertisements by the electronic device; obtaining first user data including the first user input, the first screen, and the second screen based on the recognition of a first predetermined event; and obtaining a second sub-model by the electronic device retraining the first sub-model based on the first user data.

[0025] The main model is obtained by training on a server. The first sub-model is obtained by training the main model on a server based on at least one of knowledge distillation or quantization.

[0026] The method also includes receiving the first sub-model from the server and storing the first sub-model.

[0027] Obtaining the second screen involves executing a function to block ads through the first sub-model.

[0028] The first predetermined event includes events related to executing training patterns for the sub-model's function of blocking ads.

[0029] According to another aspect of this disclosure, one or more non-transitory computer-readable storage media store one or more computer programs including computer-executable instructions, which, when executed individually or jointly by one or more processors of an electronic device, cause the electronic device to perform operations including: storing a first sub-model corresponding to a main model, the main model being stored in a server, and the first sub-model being obtained by reducing the size of the main model; displaying a first screen including advertisements by the electronic device; obtaining first user input for blocking advertisements by the electronic device; obtaining a second screen without advertisements by the electronic device when the first screen and the first user input are input into the first sub-model; displaying the second screen without advertisements by the electronic device; based on the recognition of a first predetermined event; obtaining first user data including the first user input, the first screen, and the second screen by the electronic device; and obtaining a second sub-model by the electronic device by retraining the first sub-model based on the first user data.

[0030] Other aspects, advantages, and distinctive features of this disclosure will become apparent to those skilled in the art from the following detailed description of various embodiments of the disclosure taken in conjunction with the accompanying drawings. Attached Figure Description

[0031] The above and other aspects, features, and advantages of certain embodiments of this disclosure will become more apparent from the following description taken in conjunction with the accompanying drawings, wherein:

[0032] Figure 1 A block diagram of a system for training a preference-based ad filter on a hierarchical distribution, according to an embodiment of the present disclosure, is shown.

[0033] Figure 2 A flowchart is shown of a method for training a preference-based advertising filter on a hierarchical distribution according to an embodiment of the present disclosure;

[0034] Figure 3 A workflow process for generating an AI-based ad recognizer model for a system according to an embodiment of the present disclosure is shown;

[0035] Figure 4 A user-personalized workflow process for a system according to an embodiment of this disclosure is illustrated;

[0036] Figure 5 A system for performing ad blocking according to an embodiment of the present disclosure is shown;

[0037] Figure 6 This is a block diagram illustrating an electronic device according to an embodiment of the present disclosure;

[0038] Figure 7This is a block diagram illustrating an electronic device in a network environment according to an embodiment of the present disclosure;

[0039] Figure 8 A system for performing ad blocking according to an embodiment of the present disclosure is shown;

[0040] Figure 9 A screen including an advertisement is shown according to an embodiment of the present disclosure;

[0041] Figure 10 User input for blocking advertisements according to embodiments of the present disclosure is shown;

[0042] Figure 11 A screen for user feedback according to an embodiment of the present disclosure is shown;

[0043] Figure 12 A screen for purchasing a service for blocking advertisements, according to an embodiment of the present disclosure, is shown;

[0044] Figure 13 The blocking operation of an electronic device according to an embodiment of the present disclosure is illustrated;

[0045] Figure 14 The blocking operation of an electronic device according to an embodiment of the present disclosure is illustrated;

[0046] Figure 15 Operations for storing sub-models according to embodiments of the present disclosure are illustrated;

[0047] Figure 16 Operations for training a first sub-model on a first electronic device according to an embodiment of the present disclosure are illustrated;

[0048] Figure 17 Operations for training a first sub-model on a second electronic device according to an embodiment of the present disclosure are illustrated;

[0049] Figure 18 Operations for training a sub-model without changing the screen are illustrated according to embodiments of the present disclosure;

[0050] Figure 19 Operations for training a first master model on a server are illustrated according to embodiments of the present disclosure;

[0051] Figure 20 A third predetermined event according to an embodiment of this disclosure is shown;

[0052] Figure 21 A third predetermined event according to an embodiment of this disclosure is shown;

[0053] Figure 22 A third predetermined event according to an embodiment of this disclosure is shown;

[0054] Figure 23 A third predetermined event according to an embodiment of this disclosure is shown;

[0055] Figure 24 The operation of using type information input by the user according to an embodiment of the present disclosure is illustrated;

[0056] Figure 25 A main model according to an embodiment of the present disclosure is shown;

[0057] Figure 26 A training master model according to an embodiment of the present disclosure is shown;

[0058] Figure 27 Operations for adapter (sub-model) training according to embodiments of this disclosure are illustrated;

[0059] Figure 28 Operations for updating a sub-model according to embodiments of the present disclosure are illustrated;

[0060] Figure 29 A region-based hierarchical distribution according to an embodiment of this disclosure is shown; and

[0061] Figure 30 A method for controlling an electronic device according to an embodiment of the present disclosure is shown.

[0062] Throughout the accompanying drawings, it should be noted that the same reference numerals are used to depict the same or similar elements, features, and structures. Detailed Implementation

[0063] The following description, provided with reference to the accompanying drawings, is intended to aid in a full understanding of the various embodiments of this disclosure as defined by the claims and their equivalents. It includes various specific details to aid understanding, but these details are to be considered exemplary only. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the various embodiments described herein without departing from the scope and spirit of this disclosure. Furthermore, for clarity and brevity, descriptions of well-known functions and structures may be omitted.

[0064] The terms and words used in the following description and claims are not limited to their literal meaning, but are used by the inventors only to enable a clear and consistent understanding of this disclosure. Therefore, it will be apparent to those skilled in the art that the following description, which provides various embodiments of this disclosure, is for illustrative purposes only and is not intended to limit the purpose of this disclosure as defined by the appended claims and their equivalents.

[0065] It should be understood that, unless the context clearly indicates otherwise, the singular forms “a,” “an,” and “the” include plural referents. Thus, for example, a reference to “a component surface” includes a reference to one or more such surfaces.

[0066] The following are definitions of terms used in various embodiments of this disclosure.

[0067] As used in this article, the term "Ad Recognizer Model" or "AIM" refers to a model used to determine whether various web requests and HTML elements are advertisements.

[0068] As used in this paper, “differential privacy” refers to a mathematical framework for ensuring the privacy of individuals within a dataset. Several techniques or algorithms exist that can be used to ensure differential privacy, provided that an observer seeing its output cannot discern whether information about a particular individual was used in the computation.

[0069] As used in this paper, the term "low-rank adapter" or "LoRA" refers to a training method that accelerates the training of large models while consuming less memory. In this method, pairs of rank-decomposed weight matrices (called update matrices) are added to the existing weights, and only those newly added weights are trained.

[0070] This disclosure provides a system for preference-based ad filtering trained on a hierarchical distribution, comprising: at least one main module having ad recognition functionality and connected to at least one personalization module; at least one personalization module extended to the main module as an ad recognition function for user personalization based on at least one user preference; a subscriber-side subsystem including at least one main module and at least one extended personalization module, the subscriber-side subsystem learning user personalized preferences via at least one adapter; and a direct upstream subsystem including the main module, the main module updating other main modules in the subscriber-side subsystem with collated information from the hierarchical distribution system to obtain at least one aggregated group preference.

[0071] This disclosure also provides a method for training a preference-based advertising filter on a hierarchical distribution, comprising: generating personalized data in at least one personalization module of at least one subscriber-side subsystem in a hierarchical distribution architecture; collecting the generated personalized data from the at least one personalization module; generating a master module based on the collected personalized data; and using the generated master module to update the master module within the at least one subscriber-side subsystem.

[0072] It should be understood that the boxes in each flowchart and combination of flowcharts can be executed by one or more computer programs including instructions. The entirety of one or more computer programs can be stored in a single memory device, or one or more computer programs can be divided into different parts stored in multiple different memory devices.

[0073] Any function or operation described herein may be processed by a processor or a combination of processors. A processor or combination of processors is a circuit that performs processing and includes circuits such as an application processor (AP, e.g., a central processing unit (CPU)), a communication processor (CP, e.g., a modem), a graphics processing unit (GPU), a neural processing unit (NPU) (e.g., an artificial intelligence (AI) chip), a Wi-Fi chip, a Bluetooth® chip, a global positioning system (GPS) chip, a near field communication (NFC) chip, a connectivity chip, a sensor controller, a touch controller, a fingerprint sensor controller, a display driver integrated circuit (IC), an audio codec (CODEC) chip, a universal serial bus (USB) controller, a camera controller, an image processing IC, a microprocessor unit (MPU), a system-on-a-chip (SoC), an integrated circuit (IC), and other circuits.

[0074] Figure 1 A block diagram of a system for training a preference-based advertising filter on a hierarchical distribution, according to an embodiment of the present disclosure, is shown.

[0075] refer to Figure 1 The system comprises two subsystems: a subscriber-side subsystem 110 and a direct upstream subsystem 200. The direct upstream subsystem 200 can be implemented on one or more servers and will be referred to as server 200 below. The subscriber-side subsystem 110 collects user preference data through its personalization modules (120-1, 120-2, 120-3). Then, it generates a user preference-based model using the subscriber-side subsystem's sub-models (110-1, 110-2, 110-3) and the personalization modules. This user preference-based model is checked and collected by the direct upstream master model 210, and the aggregated model downstream to the subscriber-side subsystem is fine-tuned as the master model. This information processing can be performed using methods including, but not limited to: 1) federated learning, 2) multi-node aggregated training, and 3) ensemble methods.

[0076] Figure 2 A flowchart is shown of a method for training a preference-based advertising filter on a hierarchical distribution according to an embodiment of the present disclosure.

[0077] refer to Figure 2In operation S200, personalized data is first generated from the personalization module of the subscriber-side subsystems connected in a hierarchical distribution. This personalized data constitutes advertising preferences implicitly defined by the user or explicitly defined in settings. Then, in operation S202, this personalized data is collected from all subscriber-side subsystems connected at the same level and sent to a higher level. In operation S204, a master module (or sub-model) is generated based on the collected personalized data. This system has differential privacy guarantees to ensure user privacy and that user data remains within the subscriber-side subsystems. Then, in operation S206, the generated master model (or sub-model) is sent back to the subscriber-side subsystems to enable updates to advertising preferences. In a preferred embodiment, whenever an update is triggered, the personalized data can be merged and organized using model averaging.

[0078] Figure 3 A workflow process for generating an AI-based advertising recognizer model according to embodiments of the present disclosure is shown.

[0079] refer to Figure 3 The AI-based Ad-identifier Model (AIM) determines whether various web requests and HTML elements are advertisements and filters them accordingly. AI-based AIM can also serve as a direct replacement for the classic regular expression-based AIM. To construct the AI-based AIM, at operation 300, the regular expression-based AIM is used to generate an ad recognition dataset for training the AI-based AIM. At operation 302, the AI-based AIM also uses a pre-trained Large Language Model (LLM) that understands code as a foundation to fine-tune the teacher model on the ad recognition dataset. Then, at operation 304, the teacher model is trained on the student model via knowledge distillation to reduce the size of the AIM. Finally, at operation 306, the AIM utilizes state-of-the-art techniques in quantization to further reduce the model size to a sufficiently small size for deployment on smartphones.

[0080] In a preferred embodiment of this disclosure, the truth identifier or ad recognition dataset can be Samsung Internet, as it supports regular expression-based AIM. The dataset is generated by loading Alexa 10K (the top 10,000 most frequently used websites) using public filtering rules. During dataset generation, web requests can be logged using web inspector dumps or webRequest API queries. Furthermore, HTML / CSS rules applied to DOM elements can be queried via the Document Web API.

[0081] To fine-tune the AI-based AIM using the generated ad recognition dataset, CodeGen (a 16B parameter transformer LLM pre-trained on source code) was used as an initialization point. While the AIM performed strongly in ad recognition, it was too large to deploy on phones. To reduce its size, a smaller student AIM was trained via knowledge distillation, with the trained AIM acting as the teacher. Residual-guided distillation was used to create the encoder-only student AIM, which had 55M parameters (a 290-fold reduction) and a total size of ~260MB (32-bit floating-point).

[0082] To further reduce the model size and optimize inference latency on the device, INT4 quantization is used. By compressing the model to use 4-bit weights and activations, the model size is further reduced to ~32MB (4-bit integer compression). This model can now serve as a direct replacement for regular expression-based AIM with a comparable size.

[0083] Figure 4 A workflow process for user personalization according to an embodiment of this disclosure is illustrated.

[0084] refer to Figure 4 To achieve this feature, at operation 400, the subscriber-side subsystem collects user advertising preferences as training data for further fine-tuning. However, the data never leaves the user's device to ensure privacy. Then, at operation 402, the preferences are learned using the collected user data via an adapter on the device. This is made possible by extensive model compression. Furthermore, the system has differential privacy guarantees to ensure user privacy. Since user preferences differ for each device, when an update is triggered, model averaging is used at operation 404 to incorporate the learned adapter into the original AIM, generating a new aggregated AIM that replaces the original AIM at operation 406.

[0085] In a preferred embodiment, users can initiate their own ad-blocking actions on top of existing AI-based AIMs. This can be done via user gestures, such as swipes, which can be detected by the browser's Adblocker API (Adblocker API). The Adblocker API will generate corresponding tagging data, which the browser can observe and send to the AIM via the Web API. This collected data is counted as user ad preferences but does not leave the user's phone to ensure privacy.

[0086] In another preferred embodiment, the system can correct false positives by breaking the site's AIM (Advanced Imaging Module) to preserve site functionality. This includes site-specific content that a particular user might want to see. In this embodiment, the user can temporarily disable AIM and reload the website. AIM notices the now "unblocked" ads and adds new training data. The user can then reblock the ads, adding further training data to fine-tune AIM. When the user revisits, the site is not broken, but any ads tagged by the user remain hidden.

[0087] In another preferred embodiment, the system utilizes LoRA to learn the user's personalized preferences. Specifically, INT4AIM is terminated and a low-rank factorization matrix is ​​injected into a multi-head-attention layer, then the adapter is trained using stored user data. This outputs an adapter that can be attached to the AIM on the device and alter its behavior so that future ad blocking on the user's device will match the individual user's preferences. Since the model is quantized to be sufficiently small, all training occurs on-device. Furthermore, Differentially-Private-Stochastic Gradient Descent (DP-SGD) is used to guarantee differential privacy on the output adapter.

[0088] In one embodiment, when a majority of users report a preference for the same ads, the knowledge learned by their personal adapters can be merged to automatically update the original AIM. An update trigger can be defined as occurring whenever a certain threshold (e.g., 90%) of users report the same preference for ads that are not part of the training data used for the original teacher AIM. To detect this trigger, a differential privacy database of user ad preferences is maintained.

[0089] The adapter's decomposition matrix can also be used as a proxy for user preferences, since the adapter has already learned these on the device. The method for comparing the distance between the user adapter and the original AIM in vector space could be used as an alternative trigger for updates, but this requires further investigation. Note that this method does not require additional privacy measures because the adapter is differentially private by default, which guarantees the privacy of update triggers based on vector metrics.

[0090] One advantage of using LoRA is that the adapters (which are decomposition matrices) can be incorporated into the weights of the model itself. Therefore, when an update is triggered, all users' individual adapters are pulled from their devices, Soup-style Model Averaging is performed, and the averaged adapters are incorporated into the original AIM. The base AIM is then updated with the new AIM on each user's phone. Because each user's adapter uses DP-SGD, the entire automatic update process is guaranteed to be differentially private.

[0091] In another embodiment, this disclosure can have a multi-level hierarchy, employing region-specific modules and adapters for certain regions and subscribers within those regions, similar to how ad networks enforce region rules for ad filtering. Similar to how users personalize their own ad filtering, region administrators can also manually flag whether certain elements are ads, or implicitly obtain information from their downstream subscribers. This can then be used to additionally filter content or update the main model, depending on geographic-specific restrictions and personalization.

[0092] Figure 5 A system for performing ad blocking according to an embodiment of the present disclosure is shown.

[0093] refer to Figure 5 System 500 may include electronic device 100 and server 200.

[0094] Electronic device 100 can indicate at least one device of a subsystem. Electronic device 100 may include at least one of a first electronic device 101, a second electronic device 102, or a third electronic device 103. Electronic device 100 can be a terminal device. For example, electronic device 100 is a smartphone, tablet computer, or personal device including a display module. Electronic device 100 can be described as a display device. Electronic device 100 can perform ad-blocking functions. Electronic device 100 can store an artificial intelligence model for performing ad-blocking functions.

[0095] Server 200 can manage electronic device 100. Server 200 can communicate with electronic device 100. For example, server 200 instructs a cloud server. Server 200 can provide an artificial intelligence model for performing ad-blocking functions.

[0096] Figure 6 This is a block diagram illustrating an electronic device according to an embodiment of the present disclosure.

[0097] refer to Figure 6The electronic device 100 includes: a memory 30 configured to store a first sub-model corresponding to a main model, wherein the main model is stored in a server 200, and wherein the first sub-model is obtained by reducing the size of the main model; a communication module 90 configured to communicate with the server 200 including the main model; a display 60; and at least one processor 20 configured to control the display 60 to display a first screen including advertisements, obtain first user input for blocking advertisements, obtain a second screen without advertisements when the first screen and the first user input are input into the first sub-model, control the display 60 to display the second screen without advertisements, obtain first user data including the first user input, the first screen and the second screen based on the recognition of a first predetermined event, and obtain a second sub-model by retraining the first sub-model based on the first user data.

[0098] The first screen can be a screen associated with a web browser or the execution screen of an application. The first screen can include advertisements. The first screen can be described as... Figure 9 The screen is 900.

[0099] The first user input could be a blocking behavior by a user related to the advertisement. The user is a user of electronic device 100. Figure 10 The first user input is described in the text.

[0100] Based on first user input received via an advertisement included in the first screen, at least one processor 20 can input the first screen and the first user input into a first sub-model. The first user input may indicate that the user wants to block the advertisement in the first screen. The first user input may include specific location information on the first screen.

[0101] At least one processor 20 can obtain the output data of the second screen as the first sub-model. The second screen may not include advertisements. The second screen can be modified from the first screen. The second screen can be described as a new screen without advertisements. Figure 13 Screen 1302 or Figure 14 The screen is 1402.

[0102] The main model can be obtained by training on server 200. The first sub-model can be obtained by training the main model on server 200 based on at least one of knowledge distillation or quantization. Figure 15 The main model is described in the text.

[0103] At least one processor 20 can receive the first sub-model from the server 200 via the communication module 90 and store the first sub-model in the memory 30. Figure 16 The storage operation is described in the text.

[0104] At least one processor 20 can obtain a second screen by executing a function to block advertisements through the first sub-model. This function can be described as a blocking function, an ad-blocking function, or an ad-removal function.

[0105] The first predetermined event may include events for executing training patterns related to the sub-model's function of blocking ads.

[0106] Based on the recognition of the second predetermined event, at least one processor 20 can send the second sub-model to the server 200 via the communication module 90.

[0107] The second scheduled event may include an event indicating that a scheduled period has passed.

[0108] It is possible Figure 16 The first and second predetermined events are described in the text.

[0109] The first sub-model can be stored in another electronic device 102. The server 200 can receive the third sub-model from the other electronic device 102. The third sub-model can be obtained by retraining the first sub-model based on the second user data from the other electronic device 102.

[0110] It is possible Figure 17 Another electronic device 102 is described in the text. Electronic device 100 can be described as electronic device 101.

[0111] At least one processor 20 can receive a fourth sub-model from server 200 via communication module 90 and store the fourth sub-model in memory 30. The master model is the first master model. The fourth sub-model can be obtained by retraining the second master model on server 200 based on at least one of knowledge distillation or quantization. The second master model can be obtained by retraining the first master model on server 200 based on the second and third sub-models. Figure 19 The fourth sub-model is described in the text.

[0112] At least one processor 20 can obtain HTML elements and web elements based on the first screen, and obtain a second screen without ads when the HTML elements, web elements and the first user input are input into the first sub-model.

[0113] At least one processor 20 can communicate with a provider to provide a first screen. At least one processor 20 can use HTML elements. HTML elements can be included in an HTML document. At least one processor 20 can receive HTML documents from the provider. The provider can be described as an external device.

[0114] At least one processor 20 can obtain HTML elements based on an HTML document. At least one processor 20 can obtain an HTML document based on a first screen. The HTML document may include information for displaying the first screen. At least one processor 20 can identify the location of an advertisement based on HTML elements.

[0115] At least one processor 20 can obtain network elements based on network log data. At least one processor 20 can collect network log data between the electronic device 100 and the provider offering the first screen. At least one processor 20 can collect network log data related to the first screen. The network log data may include information indicating the receipt of user input (e.g., first user input) for blocking advertisements. At least one processor 20 can identify the first user input based on network elements.

[0116] A system that includes a main model and sub-models can be integrated as part of a specific internet network or a specific web browser.

[0117] The system can provide content filtering services using servers applicable to a specific region.

[0118] The system can provide any ad filtering system, including self-improving ad filtering based on user-level parameters.

[0119] The system can provide methods for region-specific or personalized region-based content filtering.

[0120] As for technical detectability, simulations and tests can be performed on multiple devices to check the ad personalization system during playback based on region or user preferences.

[0121] The system can reduce reliance on third-party services. It can also lower operating costs and related expenses.

[0122] The system can collect automatic responses to unwanted advertisements.

[0123] The system can provide easier ad personalization while maintaining privacy policies. It can reduce concerns from both users and website hosts.

[0124] Because the data is trained on the device, the data does not leave the device, and the system is differentially private, complying with international data privacy laws.

[0125] The system can improve ad personalization by training a model locally based on user preferences. When it comes to updating the upstream model, privacy is maintained by training a local model using DP-SGD and an adapter.

[0126] Figure 7This is a block diagram illustrating an electronic device in a network environment according to an embodiment of the present disclosure.

[0127] refer to Figure 7 In network environment 10, electronic device 100 can communicate with electronic device 02 via a first network 98 (e.g., a short-range wireless communication network), or with at least one of electronic device 04 or server 08 via a second network 99 (e.g., a long-range wireless communication network). According to an embodiment, electronic device 100 can communicate with electronic device 04 via server 08. According to an embodiment, electronic device 100 may include processor 20, memory 30, input module 50, sound output module 55, display 60, audio module 70, sensor module 76, interface 77, connection terminal 78, haptic module 79, camera module 80, power management module 88, battery 89, communication module 90, subscriber identification module (SIM) 96, or antenna module 97. In some embodiments, at least one component (e.g., connection terminal 78) may be omitted from electronic device 100, or one or more other components may be added to electronic device 100. In some embodiments, some components (e.g., sensor module 76, camera module 80, or antenna module 97) may be implemented as a single component (e.g., display 60).

[0128] Processor 20 executes software (e.g., program 40) to control at least one other component (e.g., hardware or software component) of electronic device 100 coupled to processor 20, and can perform various data processing or calculations. According to one embodiment, as at least part of the data processing or calculation, processor 20 may store commands or data received from another component (e.g., sensor module 76 or communication module 90) in volatile memory 32, process the commands or data stored in volatile memory 32, and store the resulting data in non-volatile memory 34. According to embodiments, processor 20 may include a main processor 21 (e.g., a central processing unit (CPU) or application processor (AP)) or an auxiliary processor 23 (e.g., a graphics processing unit (GPU), neural processing unit (NPU), image signal processor (ISP), sensor hub processor, or communication processor (CP)) that may operate independently of or in conjunction with main processor 21. For example, when the electronic device 100 includes a main processor 21 and an auxiliary processor 23, the auxiliary processor 23 is adapted to consume less power than the main processor 21, or is dedicated to a specific function. The auxiliary processor 23 can be implemented separately from the main processor 21 or as part of the main processor 21.

[0129] When the main processor 21 is inactive (e.g., in sleep) mode, the auxiliary processor 23 may control, in place of the main processor 21, at least some functions or states associated with at least one component of the electronic device 100 (e.g., display 60, sensor module 76, or communication module 90). Alternatively, when the main processor 21 is active (e.g., executing an application), the auxiliary processor 23 may, together with the main processor 21, control at least some functions or states associated with at least one component of the electronic device 100 (e.g., display 60, sensor module 76, or communication module 90). According to embodiments, the auxiliary processor 23 (e.g., an image signal processor or a communication processor) may be implemented as part of another component (e.g., camera module 80 or communication module 90) functionally associated with the auxiliary processor 23. According to embodiments, the auxiliary processor 23 (e.g., a neural processing unit) may include hardware structures specified for processing artificial intelligence models. Artificial intelligence models can be generated through machine learning. Such learning can be performed, for example, by the electronic device 100 in which artificial intelligence is performed or via a separate server (e.g., server 08). Learning algorithms can include, but are not limited to, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning. Artificial intelligence models can include multiple layers of artificial neural networks. Artificial neural networks can be deep neural networks (DNNs), convolutional neural networks (CNNs), recurrent neural networks (RNNs), restricted Boltzmann machines (RBMs), deep belief networks (DBNs), bidirectional recurrent deep neural networks (BRDNNs), deep Q-networks, or combinations of two or more of these, but are not limited to these. Artificial intelligence models may additionally or alternatively include software structures in addition to hardware structures.

[0130] The memory 30 may store various data used by at least one component of the electronic device 100 (e.g., processor 20 or sensor module 76). The various data may include, for example, input or output data of software (e.g., program 40) and associated commands. The memory 30 may include volatile memory 32 or non-volatile memory 34.

[0131] Program 40 may be stored as software in memory 30 and may include, for example, an operating system (OS) 42, middleware 44, or application 46.

[0132] The input module 50 can receive commands or data from outside the electronic device 100 (e.g., from a user) to be used by another component of the electronic device 100 (e.g., the processor 20). The input module 50 includes, for example, a microphone, a mouse, a keyboard, keys (e.g., buttons), or a digital pen (e.g., a stylus).

[0133] The audio output module 55 can output audio signals to the outside of the electronic device 100. The audio output module 55 includes, for example, a speaker or a receiver. The speaker can be used for general purposes, such as playing multimedia or playing recordings. The receiver can be used to receive incoming calls. According to an embodiment, the receiver can be implemented separately from the speaker or as part of the speaker.

[0134] Display 60 can visually provide information to the outside of electronic device 100 (e.g., to a user). Display 60 includes, for example, a display, a holographic device, or a projector, and control circuitry for controlling a corresponding one of the display, holographic device, and projector. According to an embodiment, display 60 may include a touch sensor adapted to detect touch, or a pressure sensor adapted to measure the intensity of the force caused by touch.

[0135] The audio module 70 can convert sound into electrical signals and vice versa. According to an embodiment, the audio module 70 can obtain sound via the input module 50, or output sound via the sound output module 55 or headphones of an external electronic device (e.g., electronic device 02) directly (e.g., wired) or wirelessly coupled to the electronic device 100.

[0136] The sensor module 76 can detect the operating state of the electronic device 100 (e.g., power or temperature) or the environmental state outside the electronic device 100 (e.g., the user's state), and then generate an electrical signal or data value corresponding to the detected state. According to embodiments, the sensor module 76 includes, for example, a gesture sensor, a gyroscope sensor, a barometric pressure sensor, a magnetic sensor, an accelerometer, a grip sensor, a proximity sensor, a color sensor, an infrared (IR) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or an illuminance sensor.

[0137] Interface 77 may support one or more specified protocols for direct (e.g., wired) or wireless coupling between electronic device 100 and external electronic device (e.g., electronic device 02). According to embodiments, interface 77 includes, for example, a High Definition Multimedia Interface (HDMI), a Universal Serial Bus (USB) interface, a Secure Digital Card (SD) interface, or an audio interface.

[0138] The connection terminal 78 may include a connector through which the electronic device 100 can be physically connected to an external electronic device (e.g., electronic device 02). According to an embodiment, the connection terminal 78 includes, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).

[0139] The tactile module 79 can convert electrical signals into mechanical stimuli (e.g., vibration or movement) or electrical stimuli, which can be recognized by a user through his tactile or kinesthetic senses. According to embodiments, the tactile module 79 includes, for example, a motor, a piezoelectric element, or an electrical stimulator.

[0140] Camera module 80 can capture still or moving images. According to embodiments, camera module 80 may include one or more lenses, an image sensor, an image signal processor, or a flash.

[0141] The power management module 88 can manage the power supplied to the electronic device 100. According to one embodiment, the power management module 88 is implemented as at least part of, for example, a power management integrated circuit (PMIC).

[0142] The battery 89 can supply power to at least one component of the electronic device 100. According to an embodiment, the battery 89 includes, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.

[0143] The communication module 90 can support the establishment of a direct (e.g., wired) or wireless communication channel between the electronic device 100 and external electronic devices (e.g., electronic device 02, electronic device 04, or server 08), and perform communication via the established communication channel. The communication module 90 may include one or more communication processors that can operate independently of the processor 20 (e.g., application processor (AP)) and support direct (e.g., wired) or wireless communication. According to embodiments, the communication module 90 may include a wireless communication module 92 (e.g., a cellular communication module, a short-range wireless communication module, or a Global Navigation Satellite System (GNSS) communication module) or a wired communication module 94 (e.g., a local area network (LAN) communication module or a power line communication (PLC) module). One of these communication modules can communicate with an external electronic device via a first network 98 (e.g., a short-range communication network such as Bluetooth™, Wi-Fi Direct, or Infrared Data Fusion (IrDA)) or a second network 99 (e.g., a long-range communication network such as a traditional cellular network, a fifth-generation (5G) network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or a wide area network (WAN))). These various types of communication modules can be implemented as a single component (e.g., a single chip) or as multiple components that are separate from each other (e.g., multiple chips). The wireless communication module 92 can use subscriber information (e.g., International Mobile Subscriber Identity (IMSI)) stored in the subscriber identification module 96 to identify and authenticate the electronic device 100 in the communication network (such as the first network 98 or the second network 99).

[0144] Wireless communication module 92 can support 5G networks and next-generation communication technologies (e.g., new radio (NR) access technologies) beyond fourth-generation (4G) networks. NR access technologies can support enhanced mobile broadband (eMBB), massive machine-type communication (mMTC), or ultra-reliable low-latency communication (URLLC). Wireless communication module 92 can support high-frequency bands (e.g., millimeter-wave (mmWave) bands) to achieve, for example, high data transmission rates. Wireless communication module 92 can support various technologies used to ensure performance on high-frequency bands, such as beamforming, massive MIMO, full-dimensional MIMO (FD-MIMO), array antennas, analog beamforming, or massive antennas. Wireless communication module 92 can support various requirements specified in electronic device 100, external electronic devices (e.g., electronic device 04), or network systems (e.g., second network 99). According to an embodiment, the wireless communication module 92 may support peak data rates (e.g., 20 Gbps or greater) for implementing eMBB, loss coverage (e.g., 64 dB or less) for implementing mMTC, or U-plane latency (e.g., 0.5 ms or less for each of the downlink (DL) and uplink (UL), or ms or less round trip) for implementing URLLC.

[0145] Antenna module 97 can transmit or receive signals or power to or from the outside of electronic device 100 (e.g., external electronic equipment). According to an embodiment, antenna module 97 may include an antenna comprising a radiating element made of conductive material or conductive patterns formed in or on a substrate (e.g., a printed circuit board (PCB)). According to an embodiment, antenna module 97 may include multiple antennas (e.g., an array antenna). In this case, for example, communication module 90 (e.g., wireless communication module 92) selects at least one antenna from the multiple antennas suitable for a communication scheme used in a communication network such as a first network 98 or a second network 99. Signals or power can then be transmitted or received between communication module 90 and external electronic equipment via the selected at least one antenna. According to an embodiment, another component besides the radiating element (e.g., a radio frequency integrated circuit (RFIC)) may be additionally formed as part of antenna module 97.

[0146] According to various embodiments, antenna module 97 can form a millimeter-wave antenna module. According to embodiments, the millimeter-wave antenna module may include a printed circuit board, an RFIC disposed on or adjacent to a first surface (e.g., bottom surface) of the printed circuit board and capable of supporting a specified high-frequency band (e.g., millimeter-wave band), and a plurality of antennas (e.g., array antennas) disposed on or adjacent to a second surface (e.g., top surface or side surface) of the printed circuit board and capable of transmitting or receiving signals of the specified high-frequency band.

[0147] At least some of the aforementioned components may be coupled to each other and communicate signals (e.g., commands or data) between them via peripheral communication schemes (e.g., bus, general purpose input and output (GPIO), serial peripheral interface (SPI) or mobile industry processor interface (MIPI)).

[0148] According to an embodiment, commands or data can be sent or received between electronic device 100 and external electronic device 04 via server 08 coupled to a second network 99. Each of electronic device 02 or electronic device 04 can be a device of the same or different type as electronic device 100. According to an embodiment, all or some of the operations to be performed at electronic device 100 can be performed at one or more of external electronic devices 02, 04, or 08. For example, if electronic device 100 is required to automatically or in response to a request from a user or another device to perform a function or service, electronic device 100 may request one or more external electronic devices to perform at least a portion of the function or service in addition to performing the function or service. The one or more external electronic devices receiving the request may perform at least a portion of the requested function or service, or additional functions or services associated with the request, and transmit the result of the performance to electronic device 100. Electronic device 100 may provide the result as at least a part of the response to the request, with or without further processing of the result. For this purpose, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technologies may be used, for example. Electronic device 100 can use, for example, distributed computing or mobile edge computing to provide ultra-low latency services. In another embodiment, external electronic device 04 may include an Internet of Things (IoT) device. Server 08 may be an intelligent server using machine learning and / or neural networks. According to embodiments, external electronic device 04 or server 08 may be included in a second network 99. Electronic device 100 can be applied to intelligent services (e.g., smart homes, smart cities, smart cars, or healthcare) based on 5G communication technology or IoT-related technologies.

[0149] The electronic device according to various embodiments can be one of a variety of types of electronic devices. Electronic devices include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, wearable devices, or home appliances. According to embodiments of this disclosure, the electronic device is not limited to those described above.

[0150] It should be understood that the various embodiments of this disclosure and the terminology used therein are not intended to limit the technical features set forth herein to particular embodiments, and include various changes, equivalents, or substitutions to corresponding embodiments. Regarding the description of the drawings, similar reference numerals may be used to refer to similar or related elements. As used herein, each of phrases such as “A or B,” “at least one of A and B,” “at least one of A or B,” “A, B, or C,” “at least one of A, B, and C,” and “at least one of A, B, or C” may include any one or all possible combinations of items listed together in the corresponding phrase. As used herein, terms such as “first” and “second” or “first” and “second” may be used simply to distinguish corresponding components from another component and do not limit the components in other respects (e.g., importance or order). It should be understood that if an element (e.g., the first element) is referred to as being "coupled" to, "coupled" to, "connected" to, or "connected" to another element (e.g., the second element) with or without the terms "operably" or "communically", it means that the element can be coupled to the other element directly (e.g., wired), wirelessly, or via a third element.

[0151] As used in conjunction with various embodiments of this disclosure, the term "module" may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with other terms such as "logic," "logic block," "component," or "circuit." A module may be a single integrated component or its smallest unit or portion adapted to perform one or more functions. For example, according to an embodiment, a module is implemented in the form of an application-specific integrated circuit (ASIC).

[0152] The various embodiments described herein can be implemented as software (e.g., program 40) including one or more instructions stored in a storage medium (e.g., internal memory 36 or external memory 38), which can be read by a machine (e.g., electronic device 100). For example, a processor (e.g., processor 20) of the machine (e.g., electronic device 100) invokes at least one of the one or more instructions stored in the storage medium and executes it with or without one or more other components under the control of the processor. This allows the machine to be operated to perform at least one function according to the invoked at least one instruction. The one or more instructions may include code generated by a compiler or code executable by an interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. Herein, the term "non-transitory" simply means that the storage medium is a tangible device and does not include signals (e.g., electromagnetic waves), but the term does not distinguish between cases where data is stored semi-permanently in the storage medium and cases where data is temporarily stored in the storage medium.

[0153] According to embodiments, methods according to various embodiments of this disclosure may be included and provided in a computer program product. The computer program product may be traded as a product between a seller and a buyer. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., an optical disc read-only memory (CD-ROM)), or distributed online (e.g., downloaded or uploaded) via an app store (e.g., the Play Store™), or distributed directly between two user devices (e.g., smartphones). If distributed online, at least a portion of the computer program product may be temporarily generated or at least temporarily stored in a machine-readable storage medium, such as the memory of a manufacturer's server, an app store's server, or a relay server.

[0154] According to various embodiments, each of the above components (e.g., a module or program) may include a single entity or multiple entities, and some of the multiple entities may be separately located in different components. According to various embodiments, one or more of the above components may be omitted, or one or more other components may be added. Alternatively or additionally, multiple components (e.g., modules or programs) may be integrated into a single component. In this case, according to various embodiments, the integrated component can still perform one or more functions of each of the multiple components in the same or similar manner as performed by the corresponding component of the multiple components prior to integration. According to various embodiments, operations performed by a module, program, or other component may be performed sequentially, in parallel, repeatedly, or heuristically, or one or more of the operations may be performed in a different order or omitted, or one or more other operations may be added.

[0155] Figure 8A system for performing ad blocking according to an embodiment of the present disclosure is shown.

[0156] refer to Figure 8 System 600 may include electronic device 100 and server 200. System 600 may correspond to Figure 5 System 500.

[0157] Electronic device 100 may include at least one of a first electronic device 101, a second electronic device 102, or a third electronic device 103. Electronic device 100 may include a communication module.

[0158] The first electronic device 101 may include a communication module 90-1. The first electronic device 101 can communicate with the server 200 through the communication module 90-1.

[0159] The second electronic device 102 may include a communication module 90-2. The second electronic device 102 can communicate with the server 200 through the communication module 90-2.

[0160] The third electronic device 103 may include a communication module 90-3. The third electronic device 103 can communicate with the server 200 through the communication module 90-3.

[0161] The electronic device 100 may include a sub-model and a user data collection module.

[0162] Sub-model can indicate Figure 5 An artificial intelligence model used to perform ad-blocking functions.

[0163] User data collection module instructions Figure 1 The personalization modules 120-1, 120-2, and 120-3 are included. The user data collection module can obtain data related to the user of the electronic device 100. The user data collection module can obtain data related to the behavior of the user of the electronic device 100.

[0164] The first electronic device 101 may include a sub-model 110-1 and a user data collection module 120-1. The user data collection module 120-1 can obtain user data. The user data collection module 120-1 can send the user data to the sub-model 110-1. The first electronic device 101 can train the sub-model 110-1 based on the user data sent from the user data collection module 120-1. The first electronic device 101 can obtain the trained sub-model. The trained sub-model can be described as an updated sub-model. The first electronic device 101 can send the trained sub-model to a server 200 via a communication module 90-1. The server 200 can receive the trained sub-model from the first electronic device 101 via a communication module 211. The server 200 can train a main model 210 based on the received sub-model from the first electronic device 101.

[0165] The second electronic device 102 may include a sub-model 110-2 and a user data collection module 120-2. The user data collection module 120-2 can obtain user data. The user data collection module 120-2 can send the user data to the sub-model 110-2. The second electronic device 102 can train the sub-model 110-2 based on the user data sent from the user data collection module 120-2. The second electronic device 102 can obtain the trained sub-model. The trained sub-model can be described as an updated sub-model. The second electronic device 102 can send the trained sub-model to a server 200 via a communication module 90-2. The server 200 can receive the trained sub-model from the second electronic device 102 via a communication module 211. The server 200 can train a main model 210 based on the received sub-model from the second electronic device 102.

[0166] The third electronic device 103 may include a sub-model 110-3 and a user data collection module 120-3. The user data collection module 120-3 can obtain user data. The user data collection module 120-3 can send the user data to the sub-model 110-3. The third electronic device 103 can train the sub-model 110-3 based on the user data sent from the user data collection module 120-3. The third electronic device 103 can obtain the trained sub-model. The trained sub-model can be described as an updated sub-model. The third electronic device 103 can send the trained sub-model to the server 200 via the communication module 90-3. The server 200 can receive the trained sub-model from the third electronic device 103 via the communication module 211. The server 200 can train a main model 210 based on the received sub-model from the third electronic device 103.

[0167] According to various embodiments, the user data collection modules (120-1, 120-2, 120-3) can be connected to the communication modules (90-1, 90-2, 90-3) of the electronic devices (101, 102, 103). The user data collection modules (120-1, 120-2, 120-3) can send user data to the server 200. The server 200 can receive user data from the electronic device 100 through the communication module 211. The server 200 can train the master model 210 based on the received user data from the electronic device 100.

[0168] Server 200 can be described as the direct upstream side. Main model 210 can be described as the Ad Recognizer Model (AIM). Sub-models 110-1, 110-2, and 110-3 can be described as adapters.

[0169] System 600 can determine whether various network requests and HTML elements are advertisements and will filter them accordingly.

[0170] System 600 allows users to manually tag elements on the screen to specify whether they are legitimate advertisements. Personalization can be used to automatically update the main model 210.

[0171] Raw data (e.g., user data) may remain on the electronic device (101, 102, 103), and training utilizes differential privacy techniques that always ensure user privacy. System 600 may allow personalization and automatic updates via adapter-based training.

[0172] The main model 210 can perform operations. The main model 210 can perform ad data generation. The main model 210 can use classic regular expression-based AIM to generate an ad recognition dataset to train a neural network-based AIM.

[0173] The main model 210 can perform teacher model training. The main model 210 can use a pre-trained Large Language Model (LLM) that understands code. The main model 210 can fine-tune the teacher model on our ad recognition dataset.

[0174] For example, the main model 210 uses an ad recognition dataset to fine-tune a strong AIM. The main model can use a 16B parameter transformer LLM pre-trained on the source code as an initialization point.

[0175] The master model 210 can perform knowledge distillation. The master model 210 can use the teacher model to train the student model via knowledge distillation to reduce the size of the AIM (e.g., by a factor of 290).

[0176] To reduce the size of the master model 210, the master model 210 can be trained with smaller student AIMs via knowledge distillation, where the trained AIMs act as teachers.

[0177] For example, server 200 uses residual-guided distillation to create a student AIM for encoder only, which has 55M parameters (reduced by 290 times) and a total size of ~260MB (32-bit floating point).

[0178] The main model 210 can perform INT4 quantization. The main model 210 can reduce the size of the sub-models to a size small enough for deployment on user devices (e.g., smartphones).

[0179] For example, the main model 210 uses INT4 quantization to further reduce the model size and optimize inference latency on the device.

[0180] By compressing the model to use 4-bit weights and activations, we further reduced the model size to ~32MB (4-bit integer compression). This model can now serve as a direct replacement for regular expression-based AIMs with comparable size.

[0181] exist Figure 25 and Figure 26 The main model 210 is described in detail.

[0182] Sub-models 110-1, 110-2, and 110-3 can perform user data collection. User advertising preferences can be collected as training data for further fine-tuning. User data is stored solely in electronic device 100.

[0183] The electronic device 100 can receive user input for blocking advertisements displayed on the electronic device 100. The electronic device 100 can perform the function of blocking advertisements by using sub-models 110-1, 110-2, and 110-3.

[0184] User input can be described as user gestures. Figure 10 The text describes gestures. User input can be detected by the Browser Adblocker Application Programming Interface (API). The Adblocker API can generate corresponding collected data. The Browser Adblocker API can be observed via the Documentation Page API. The Browser Adblocker API can send the collected data to the main model 210 of server 200. The collected data is used to calculate user advertising preferences on electronic device 100.

[0185] Electronic device 100 can retain site functionality. Electronic device 100 can correct false alarms by breaking sub-models 110-1, 110-2, and 110-3 of the site flow. Electronic device 100 can send a command to server 200 to temporarily disable sub-models 110-1, 110-2, and 110-3 and reload the website.

[0186] Sub-models 110-1, 110-2, and 110-3 can obtain screens with unblocked ads and screens without ads as training data.

[0187] Sub-models 110-1, 110-2, and 110-3 can perform adapter training. Sub-models 110-1, 110-2, and 110-3 can use adapters to learn preferences using collected user data. This process can occur on-device, made possible by extensive model compression. Differential privacy can be used during training to ensure user privacy. Figure 27 The adapter training is described in the text.

[0188] Sub-models 110-1, 110-2, and 110-3 can perform automatic AIM updates. When an update is triggered, sub-models 110-1, 110-2, and 110-3 can use model averaging to incorporate the learned adapter into the original AIM. Figure 28 The update operation is described in the text.

[0189] Figure 9 A screen including an advertisement is shown according to an embodiment of the present disclosure.

[0190] refer to Figure 9 The electronic device 100 can display a screen 900 that includes multiple areas 910, 920, 930, and 940.

[0191] Area 910 may include a search area for keywords entered by the user.

[0192] Zone 920 can include items from multiple categories. For example, the news category is selected by the user.

[0193] Region 930 may include an advertising area. Region 930 may include advertisements provided from an external server. The external server may be the server providing screen 900.

[0194] Area 940 may include a content area corresponding to the category selected by the user. For example, area 940 corresponds to the news category selected by the user.

[0195] Figure 10 User input for blocking advertisements according to an embodiment of the present disclosure is shown.

[0196] refer toFigure 10 The electronic device 100 can display a screen that includes an advertising area, the advertising area containing advertisements. The screen can correspond to... Figure 9 The screen 900 is in the display screen. When the screen is displayed, the electronic device 100 can receive user input for blocking advertisements.

[0197] According to embodiment 1010, electronic device 100 can receive user input for blocking. Electronic device 100 can display a screen including a user interface (UI) 1011 related to the function of blocking advertisements. UI 1011 can be a UI for inputting user input indicating that the user does not like the advertisement. Electronic device 100 can receive user input that selects UI 1011. Based on the user input that selects UI 1011, electronic device 100 can identify that the user does not like the displayed advertisement.

[0198] According to embodiment 1020, electronic device 100 can receive user input for blocking. The user input may be a swipe input on an advertising area. Electronic device 100 can receive user input for swiping the advertising area. Based on the received user input for swiping the advertising area, electronic device 100 can identify that the user does not like the displayed advertisement. The swipe input can be described as a swipe signal or a swipe input.

[0199] According to embodiment 1030, electronic device 100 can receive user input for blocking. The user input may be drag input on an advertising area. Electronic device 100 can receive user input for dragging the advertising area. Based on the received user input for dragging the advertising area, electronic device 100 can identify that the user does not like the displayed advertisement. The drag input can be described as a drag signal or drag input.

[0200] The difference between swipe input and drag input can depend on whether the user's input remains (or is maintained) fixed at the first touch position for a predetermined time. Based on the user's input remaining (or being maintained) fixed at the first touch position for less than the predetermined time and then moving, the electronic device 100 can recognize the user's input as swipe input. Based on the user's input remaining (or being maintained) fixed at the first touch position for a predetermined time or longer and then moving, the electronic device 100 can recognize the user's input as drag input.

[0201] According to embodiment 1040, electronic device 100 can receive user input for blocking. The user input may be a predetermined touch signal. For example, the predetermined touch signal includes a long press touch signal. Electronic device 100 can receive user input indicating the predetermined touch signal. Based on the user input indicating the predetermined touch signal, electronic device 100 can identify that the user does not like the displayed advertisement.

[0202] Figure 11 A screen for user feedback according to an embodiment of the present disclosure is shown.

[0203] refer to Figure 11 The electronic device 100 displays a screen 1100 for user feedback. Feedback can refer to user opinions related to the displayed advertisement. Based on user input for blocking the advertisement, the electronic device 100 can display the screen 1100 for user feedback. The user input for blocking the advertisement can correspond to... Figure 10 User input in the middle.

[0204] Screen 1100 may include area 1110 and area 1120. Area 1110 may include information guiding the user to input reasons why they dislike the advertisement. Area 1120 may include at least one UI indicating at least one reason for disliking the advertisement.

[0205] Electronic device 100 can receive user input (or user feedback) via screen 1100. Electronic device 100 can obtain user input (or user feedback) as user data related to the displayed advertisement. Based on the user feedback received via screen 1100, electronic device 100 can store the user feedback as user data. User data may include the user feedback.

[0206] Figure 12 A screen for purchasing a service for blocking advertisements, according to an embodiment of the present disclosure, is shown.

[0207] refer to Figure 12 The electronic device 100 can display a screen 1200 for purchasing services to block advertisements. Based on user input for blocking advertisements, the electronic device 100 can display a screen 1200 for purchasing services to block advertisements.

[0208] Screen 1200 may include areas 1210 and 1220. Area 1210 may include information guiding the user to purchase services for blocking advertisements. Area 1220 may include at least one of the services for blocking advertisements.

[0209] Electronic device 100 can receive user input (or user purchases) via screen 1200. Based on the received user input for purchasing services, electronic device 100 can perform a function to block advertisements. After performing the function to block advertisements, electronic device 100 can display a new screen that does not include the displayed advertisements.

[0210] Figure 13 The blocking operation of an electronic device according to an embodiment of the present disclosure is illustrated.

[0211] refer to Figure 13The electronic device 100 can display a screen 1301 comprising multiple areas 1310, 1320, 1330, and 1340. The screen 1301 can correspond to... Figure 9 The screen 900 is in the middle. Based on user input for blocking advertisements received through area 1330, the electronic device 100 can perform a blocking operation to remove the advertisement. The electronic device 100 can perform the function of blocking advertisements.

[0212] Electronic device 100 can obtain a new screen 1302 based on the result of performing a function for blocking advertisements. The new screen 1302 can be a screen excluding region 1330. The new screen 1302 can include only regions 1310, 1320, and 1340. Electronic device 100 can generate a new screen 1302 without region 1330. Electronic device 100 can display the new screen 1302.

[0213] Figure 14 The blocking operation of an electronic device according to an embodiment of the present disclosure is illustrated.

[0214] refer to Figure 14 The electronic device 100 can display a screen 1401 comprising multiple areas 1410, 1420, 1430, and 1440. The screen 1401 can correspond to... Figure 9 The screen 900 is in the middle. Based on user input for blocking advertisements received through area 1430, the electronic device 100 can perform a blocking operation to remove the advertisement. The electronic device 100 can perform the function of blocking advertisements.

[0215] Electronic device 100 can obtain a new screen 1402 based on the result of performing a function for blocking advertisements. The new screen 1402 may be a screen with a modified advertisement. Based on user input received via region 1430 for blocking advertisements, electronic device 100 can change the advertisement in region 1430 to a new advertisement based on user preference information. User preference information is pre-stored in electronic device 100. Electronic device 100 can obtain a new screen 1402 including a new region 1432 corresponding to the new advertisement. Electronic device 100 can obtain a new screen 1402 including regions 1410, 1420, 1432, and 1440.

[0216] Figure 15 Operations for storing sub-models according to embodiments of the present disclosure are illustrated.

[0217] refer to Figure 15 In operation S1510, server 200 can obtain the first advertisement training data. In operation S1511, server 200 can train a first master model for blocking advertisements based on the first advertisement training data. Server 200 can obtain the first master model based on the results of the training operation.

[0218] At operation S1512, server 200 can train a first sub-model corresponding to the first master model based on knowledge distillation. Server 200 can train the first sub-model by performing the knowledge distillation function. Knowledge distillation can be described as model compression. Server 200 can obtain the first sub-model based on the results of the training operation.

[0219] For example, the first master model is the teacher model, and the first sub-model can be the student model. In the context of the teacher-student model relationship, knowledge distillation can refer to the process by which a large, pre-trained model (the teacher model) transfers knowledge from the teacher model to a smaller, simpler model (the student model). The student model is trained to mimic the output of the teacher model to achieve similar performance with reduced complexity and computational requirements.

[0220] At operation S1513, server 200 can reduce the size of the first sub-model based on quantization. Server 200 can perform the quantization function. Server 200 can obtain the reduced first sub-model. The reduced first sub-model can be described as the first sub-model.

[0221] For example, quantization in AI deep learning can refer to the process of converting the weights and activations of a neural network from high-precision floating-point numbers to lower-precision integers (e.g., 4-bit integers). This compression technique can reduce memory resources and the computational complexity of the model.

[0222] In operation S1514, server 200 can send the first sub-model to electronic device 100. Electronic device 100 can receive the first sub-model from server 200. In operation S1515, electronic device 100 can store the first sub-model.

[0223] Electronic device 100 may refer to first electronic device 101 or second electronic device 102. Server 200 may communicate with first electronic device 101 and second electronic device 102.

[0224] Figure 16 Operations for training a first sub-model on a first electronic device according to an embodiment of the present disclosure are illustrated.

[0225] refer to Figure 16 Operations S1614 and S1615 can correspond to Figure 15 Operations S1514 and S1515 in the text.

[0226] After storing the first sub-model, at operation S1620, the first electronic device 101 can display a first screen. The first screen may include an advertising area. The first screen may correspond to... Figure 9 The screen is 900.

[0227] At operation S1621, the first electronic device 101 can obtain first user input for blocking advertisements through the displayed screen. Based on receiving the first user input through the displayed screen, the first electronic device 101 can perform the function of blocking advertisements. The first electronic device 101 can input the first screen and the first user input into a first sub-model stored in the first electronic device 101.

[0228] At operation S1622, the first electronic device 101 can obtain a second screen when the first screen and the first user input are input into the first sub-model. The second screen is a screen resulting from a function to block advertisements. At operation S1623, the first electronic device 101 can display the second screen. The second screen can be a screen without an advertising area. Figure 13 The second screen can be a screen with a changed advertising area, as described in the text. Figure 14 As described in the text.

[0229] At operation S1630, the first electronic device 101 can determine whether a first predetermined event has been identified. The first predetermined event can be one of a plurality of predetermined events.

[0230] Multiple pre-defined events can include events that receive user input for blocking ads. User input can be a pre-defined type of several types. Figure 10 It describes multiple types.

[0231] Multiple pre-defined events may include events that receive user input for retraining the first master model or the first sub-model.

[0232] Multiple pre-defined events may include events for executing training patterns related to the function of blocking ads.

[0233] Multiple scheduled events may include events indicating that a scheduled time period has elapsed. The first electronic device 101 may store at least one screen and at least one user input within the scheduled time period.

[0234] Since the first predetermined event was not detected on the first electronic device 101 at operation S1630-N, the first electronic device 101 may execute operations S1620, S1621, S1622, S1623, and S1630 again.

[0235] Based on the recognition of a first predetermined event on the first electronic device 101 at operation S1630-Y, at operation S1631, the first electronic device 101 can obtain first user data including at least one of a first screen, a second screen, or a first user input.

[0236] For one example, the first user data may only include the first screen.

[0237] For one example, the first user data may include the first screen and the first user input.

[0238] For one example, the first user data may include a first screen, a second screen, and first user input.

[0239] At operation S1632, the first electronic device 101 can obtain a second sub-model by retraining the first sub-model based on the first user data. The first electronic device 101 can retrain the first sub-model based on the first user data. The first electronic device 101 can generate the second sub-model by retraining the first sub-model.

[0240] At operation S1640, the first electronic device 101 can determine whether a second predetermined event has been identified. Based on the fact that the second predetermined event has not been identified at operations S1640-N, the first electronic device 101 can execute operations S1620, S1621, S1622, S1623, S1630, S1631, S1632, and S1640 again.

[0241] The second predetermined event can be one of a plurality of predetermined events. The plurality of predetermined events can correspond to the events in operation S1630.

[0242] In one embodiment, the first predetermined event may be the same as the second predetermined event.

[0243] In one embodiment, the first predetermined event may be different from the second predetermined event. For example, the first predetermined event may be an event for executing a training pattern related to the function of blocking advertisements, and the second predetermined event may be an event indicating that a predetermined period of time has elapsed.

[0244] Based on the recognition of the second predetermined event at operation S1640-Y, at operation S1641-1, the first electronic device 101 can send the second sub-model to the server 200. The server 200 can receive the second sub-model from the first electronic device 101. At operation S1642-1, the server 200 can store the second sub-model.

[0245] The sent second sub-model can be described as information related to the second sub-model. This information is used for retraining the main model. The sent second sub-model can be described as second sub-model information or information about the second sub-model.

[0246] According to another embodiment, at operation S1632, the first electronic device 101 can send first user data without a retraining operation. The server 200 can receive the first user data. The server 200 can retrain the first master model based on the first user data.

[0247] According to another embodiment, operations S1630 and S1640 can be omitted. The first electronic device 101 can continuously acquire the first user data after displaying the second screen. The first electronic device 101 can continuously send the second sub-model after acquiring the second sub-model.

[0248] Figure 17 Operations for training a first sub-model on a second electronic device according to an embodiment of the present disclosure are illustrated.

[0249] refer to Figure 17 Operations S1714 and S1715 can correspond to Figure 15 Operations S1514 and S1515 in the text.

[0250] After storing the first sub-model, at operation S1720, the second electronic device 102 can display a third screen. The third screen may include an advertising area. The third screen may correspond to... Figure 9 The screen is 900.

[0251] At operation S1721, the second electronic device 102 can obtain a second user input for blocking advertisements via the displayed screen. Based on the second user input received via the displayed screen, the second electronic device 102 can perform the function of blocking advertisements. The second electronic device 102 can input a third screen and the second user input into a first sub-model stored in the second electronic device 102.

[0252] At operation S1722, the second electronic device 102 can obtain a fourth screen when the third screen and the second user input are input into the first sub-model. The fourth screen is a result of a function to block advertisements. At operation S1723, the second electronic device 102 can display the fourth screen. The fourth screen can be a screen without an advertising area. Figure 13 The fourth screen can be a screen with a changed advertising area, as described in the text. Figure 14 As described in the text.

[0253] At operation S1730, the second electronic device 102 can determine whether a first predetermined event has been identified. The first predetermined event can be one of a plurality of predetermined events.

[0254] Multiple pre-defined events can include events that receive user input for blocking ads. User input can be a pre-defined type of several types.Figure 10 It describes multiple types.

[0255] Multiple pre-defined events may include events that receive user input for retraining the first master model or the first sub-model.

[0256] Multiple pre-defined events may include events for executing training patterns related to the function of blocking ads.

[0257] Multiple scheduled events may include events indicating that a scheduled time period has elapsed. The second electronic device 102 may store at least one screen and at least one user input within the scheduled time period.

[0258] Based on the fact that the first predetermined event was not detected on the second electronic device 102 at operation S1730-N, the second electronic device 102 may execute operations S1720, S1721, S1722, S1723, and S1730 again.

[0259] Based on the recognition of a first predetermined event on the second electronic device 102 at operation S1730-Y, the second electronic device 102 can obtain second user data including at least one of a third screen, a fourth screen, or a second user input at operation S1731.

[0260] For one example, the second user data may only include the third screen.

[0261] For one example, the second user data may include a third screen and second user input.

[0262] For one example, the second user data may include the third screen, the fourth screen, and the second user input.

[0263] At operation S1732, the second electronic device 102 can obtain a third sub-model by retraining the first sub-model based on the second user data. The second electronic device 102 can retrain the first sub-model based on the second user data. The second electronic device 102 can generate the third sub-model by retraining the first sub-model.

[0264] At operation S1740, the second electronic device 102 can determine whether a second predetermined event has been identified. Based on the fact that the second predetermined event has not been identified at operations S1740-N, the second electronic device 102 can execute operations S1720, S1721, S1722, S1723, S1730, S1731, S1732, and S1740 again.

[0265] The second predetermined event can be one of multiple predetermined events. These multiple predetermined events can correspond to events in operation S1730.

[0266] In one embodiment, the first predetermined event may be the same as the second predetermined event.

[0267] In one embodiment, the first predetermined event may be different from the second predetermined event. For example, the first predetermined event may be an event for executing a training pattern related to the function of blocking advertisements, and the second predetermined event may be an event indicating that a predetermined period of time has elapsed.

[0268] Based on the recognition of the second predetermined event at operation S1740-Y, at operation S1741-1, the second electronic device 102 can send the third sub-model to the server 200. The server 200 can receive the third sub-model from the second electronic device 102. At operation S1742-2, the server 200 can store the third sub-model.

[0269] The sent third sub-model can be described as information related to the third sub-model. This information is used for retraining the main model. The sent third sub-model can be described as third sub-model information or information about the third sub-model.

[0270] According to another embodiment, at operation S1732, the second electronic device 102 can send second user data without a retraining operation. The server 200 can receive the second user data. The server 200 can retrain the first master model based on the second user data.

[0271] According to another embodiment, operations S1730 and S1740 can be omitted. The second electronic device 102 can continuously acquire the second user data after displaying the fourth screen. The second electronic device 102 can continuously send the third sub-model after acquiring the third sub-model.

[0272] Figure 18 Operations for training a sub-model without changing the screen are illustrated according to embodiments of the present disclosure.

[0273] refer to Figure 18 Operations S1814, S1815, S1815, S1820, S1830, S1832, S1840, S1841-1, and S1842-2 can correspond to operations S1614, S1615, S1615, S1620, S1630, S1632, S1640, S1641-1, and S1642-2.

[0274] After the first screen is displayed at operation S1820, the first electronic device 101 can obtain third user input for advertising feedback at operation S1821. Feedback is... Figure 11As described in the text. Third-party user input can indicate a user's preferences corresponding to the advertisements included on the displayed screen. Third-party user input can include reasons for disliking the advertisements.

[0275] Based on receiving input from a third user, the first electronic device 101 can determine at operation S1830 whether a first predetermined event has been identified.

[0276] Based on the recognition of the first predetermined event, at operation S1831, the first electronic device 101 can obtain first user data including the first screen and third user input. The first electronic device 101 can analyze user preferences based on the first screen and third user input.

[0277] After obtaining the first user data, the first electronic device 101 can perform operations S1832, S1840, S1841-1, and S1842-2.

[0278] Figure 19 Operations for training a first master model on a server are illustrated according to embodiments of the present disclosure.

[0279] refer to Figure 19 Operations S1941-1 and S1942-1 can correspond to Figure 16 Operations S1641-1 and S1642-1 in the example.

[0280] Operations S1941-2 and S1942-2 can correspond to Figure 17 Operations S1741-2 and S1742-2 in the text.

[0281] Server 200 can receive a second sub-model from first electronic device 101. Server 200 can receive a third sub-model from second electronic device 102.

[0282] Server 200 can determine whether a third scheduled event has been identified at operation S1950. The third scheduled event can be one of multiple scheduled events. Figure 20 , Figure 21 , Figure 22 and Figure 23 The third scheduled event is described in the text.

[0283] Based on the fact that no third pre-defined event was identified at operation S1950-N, server 200 can execute operations S1942-1, S1942-2, and S1950.

[0284] Based on the identification of the third pre-defined event at operation S1950-Y, server 200 can obtain the second advertisement training data at operation S1951 by averaging the second sub-model and the third sub-model.

[0285] Averaging can be a process in machine learning where data or parameters from multiple student models (sub-models) are combined to enhance the training of the teacher model (master model). Information from several student models is aggregated to form a unified dataset or parameter set. This unified data can then be used to update and improve the teacher model. By combining insights and learned patterns from each student model, averaging helps create a more robust and accurate teacher model.

[0286] At operation S1952, server 200 can obtain a second master model by retraining the first master model for blocking ads based on the second ad training data. At operation S1953, server 200 can train a fourth sub-model corresponding to the second master model based on knowledge distillation.

[0287] At operation S1954, server 200 can reduce the size of the fourth sub-model based on quantization. The quantization operation can be performed... Figure 15 As described in the text.

[0288] At operation S1955-1, server 200 can send the fourth sub-model to first electronic device 101. The sent fourth sub-model can be described as a reduced fourth sub-model. First electronic device 101 can receive the fourth sub-model from server 200. At operation S1956-1, first electronic device 101 can store the fourth sub-model.

[0289] At operation S1955-2, server 200 can send the fourth sub-model to second electronic device 102. The sent fourth sub-model can be described as a reduced fourth sub-model. Second electronic device 102 can receive the fourth sub-model from server 200. At operation S1956-2, second electronic device 102 can store the fourth sub-model.

[0290] Figure 20 A third predetermined event according to an embodiment of this disclosure is shown.

[0291] refer to Figure 20 Operations S2041-1, S2042-1, S2041-2, S2042-2, and S2051 can correspond to operations S1941-1, S1942-1, S1941-2, S1942-2, and S1951.

[0292] After storing the second and third sub-models, server 200 can obtain the current time information at operation S2043.

[0293] At operation S2050, server 200 can determine whether the scheduled time has arrived. The third scheduled event may include the event that the scheduled time has arrived. Based on the fact that the scheduled time has arrived, server 200 can identify that the third scheduled event has occurred.

[0294] Since the scheduled time has arrived, server 200 can obtain the second advertisement training data at operation S2051 by averaging the second sub-model and the third sub-model.

[0295] Figure 21 A third predetermined event according to an embodiment of this disclosure is shown.

[0296] refer to Figure 21 Operations S2141-1, S2142-1, S2141-2, S2142-2, and S2151 correspond to operations S1941-1, S1942-1, S1941-2, S1942-2, and S1951.

[0297] After storing the second and third sub-models, in operation S2143, server 200 can obtain the first update history information based on the second sub-model. In operation S2144, server 200 can obtain the second update history information based on the third sub-model.

[0298] Update history information may include at least one of non-preferred sites, non-preferred ad locations, and non-preferred ad categories. Server 200 can analyze update history information. Server 200 can identify specific non-preferred events that have occurred.

[0299] At operation S2145, server 200 can obtain the number of specific non-preferred events based on the first update history information and the second update history information.

[0300] At operation S2150, server 200 can determine whether the quantity exceeds a threshold quantity. The third predetermined event may include events where the number of specific unpreferred events exceeds the threshold quantity. Based on this quantity exceeding the threshold quantity, server 200 can identify that the third predetermined event has occurred.

[0301] Based on the fact that this number is greater than the threshold number, server 200 can obtain the second advertisement training data at operation S2151 by averaging the second sub-model and the third sub-model.

[0302] Figure 22 A third predetermined event according to an embodiment of this disclosure is shown.

[0303] refer to Figure 22Operations S2241-1, S2242-1, S2241-2, S2242-2, and S2251 can correspond to S1941-1, S1942-1, S1941-2, S1942-2, and S1951.

[0304] Server 200 can store the first parameter information based on the first sub-model.

[0305] After storing the second and third sub-models, server 200 can obtain the first parameter information at operation S2243. At operation S2244, server 200 can obtain the second parameter information based on the second sub-model. At operation S2245, server 200 can obtain the second parameter information based on the third sub-model.

[0306] The parameter information may include at least one parameter of the sub-model. This parameter is related to the functionality of blocking ads through the sub-model.

[0307] At operation S2246, server 200 can obtain the number of changed parameters based on the first parameter information, the second parameter information, and the third parameter information.

[0308] Server 200 can compare first parameter information of a first sub-model with second parameter information of a second sub-model. Server 200 can obtain a first result based on this comparison. The first result may include a first change value between the first and second parameter information. The first change value may be the average change value of at least one parameter in the first and second parameter information. Server 200 can determine whether the first change value is greater than a threshold. Based on the first change value being greater than the threshold, server 200 can count the number of parameters that have changed.

[0309] Server 200 can compare the first parameter information of the first sub-model with the third parameter information of the third sub-model. Server 200 can obtain a second result based on this comparison. The second result may include a second change value between the first and third parameter information. The second change value may be the average change value of at least one parameter in the first and third parameter information. Server 200 can determine whether the second change value is greater than a threshold. Based on the second change value being greater than the threshold, server 200 can count the number of parameters that have changed.

[0310] At operation S2250, server 200 can determine whether the quantity is greater than a threshold quantity. The third predetermined event may include an event where the number of changed parameters exceeds the threshold quantity. Based on the fact that the quantity exceeds the threshold quantity, server 200 can identify that the third predetermined event has occurred.

[0311] Based on the fact that this number is greater than the threshold number, server 200 can obtain the second advertisement training data at operation S2251 by averaging the second sub-model and the third sub-model.

[0312] Figure 23 A third predetermined event according to an embodiment of this disclosure is shown.

[0313] refer to Figure 23 Operations S2341-1, S2342-1, S2341-2, S2342-2, and S2351 can correspond to S1941-1, S1942-1, S1941-2, S1942-2, and S1951.

[0314] Server 200 can store first-level information based on the first sub-model.

[0315] After storing the second and third sub-models, server 200 can obtain the first-layer information at operation S2343. At operation S2344, server 200 can obtain the second-layer information based on the second sub-model. At operation S2345, server 200 can obtain the second-layer information based on the third sub-model.

[0316] Layer information may include at least one layer of the sub-model. Layers are related to the functionality of blocking ads through the sub-model. Layer information is related to the structure of the sub-model. A sub-model may include multiple layers.

[0317] At operation S2346, server 200 can obtain the number of changed layers based on the first layer information, the second layer information, and the third layer information.

[0318] Server 200 can compare the first layer information of the first sub-model with the second layer information of the second sub-model. Server 200 can obtain a first result based on this comparison. The first result may include a first change value between the first layer information and the second layer information. The first change value may be the average change value of at least one layer in the first and second layer information. Server 200 can determine whether the first change value is greater than a threshold. Based on the first change value being greater than the threshold, server 200 can count the number of layers that have changed.

[0319] Server 200 can compare the first-layer information of the first sub-model with the third-layer information of the third sub-model. Server 200 can obtain a second result based on this comparison. The second result may include a second change value between the first-layer and third-layer information. The second change value may be the average change value of at least one layer in the first-layer and third-layer information. Server 200 can determine whether the second change value is greater than a threshold. Based on the second change value being greater than the threshold, server 200 can count the number of layers that have changed.

[0320] At operation S2350, server 200 can determine whether the quantity is greater than a threshold quantity. The third predetermined event may include an event where the number of changed layers exceeds the threshold quantity. Based on the fact that the quantity exceeds the threshold quantity, server 200 can identify that the third predetermined event has occurred.

[0321] Based on the fact that this number is greater than the threshold number, server 200 can obtain the second advertisement training data at operation S2351 by averaging the second sub-model and the third sub-model.

[0322] Figure 24 The operation of using type information input by the user is illustrated according to an embodiment of the present disclosure.

[0323] refer to Figure 24 Operations S2420, S2421, S2422, S2423, S2430, and S2432 can correspond to Figure 16 Operations S1620, S1621, S1622, S1623, S1630, and S1632.

[0324] After receiving the first user input, at operation S2421-1, the first electronic device 101 can determine that the first user input is of the first type. The first type is a predetermined type.

[0325] Based on the fact that the first user input at operation S2421-1-Y is of the first type, the first electronic device 101 can identify at operation S2421-2 that the first user input is of the first type, indicating dislike of advertisements in all areas. The first electronic device 101 can execute operations S2422, S2423, and S2430.

[0326] Based on the fact that the first user input is not of the first type at operation S2421-1-N, the first electronic device 101 can determine at operation S2421-3 whether the first user input is of the second type. The second type can be a predetermined type.

[0327] Based on the fact that the first user input at operation S2421-3-N is not of the second type, the first electronic device 101 can execute operations S2420, S2421, S2421-1, S2421-2, and S2421-3.

[0328] Based on the fact that the first user input at operation S2421-3-Y is of the second type, the first electronic device 101 can identify at operation S2421-4 that the first user input is of the second type, indicating dislike of advertisements in a specific area (the displayed area). The first electronic device 101 can execute operations S2422, S2423, and S2430.

[0329] Based on the recognition of a first predetermined event at operation S2430-Y, the first electronic device 101 can obtain first user data including a first screen, a second screen, and type information of the first user input at operation S2431. The type information of the first user input can indicate that the first user input corresponds to a specific type. The type information can include a first type or a second type.

[0330] At operation S2432, the first electronic device 101 can obtain a second sub-model by retraining the first sub-model based on the first user data.

[0331] Figure 25 A main model according to an embodiment of this disclosure is shown.

[0332] refer to Figure 25 According to embodiment 2500, server 200 can obtain training data 2501 as input data. Training data 2501 may include screens containing advertisements.

[0333] Server 200 can send training data 2501 to the first API 2510. The first API 2510 can be a module for extracting HTML elements. The first API 2510 can obtain the HTML elements (e.g., an HTML document) of the training data 2501. The HTML elements can be obtained using HTML DOM tree methods. The first API 2510 can then send the HTML elements to the main model 210.

[0334] The HTML Document Object Model (DOM) tree can be a hierarchical representation of an HTML document. The HTML DOM tree structures a document as a tree of objects, where each node represents a part of the document, such as an element, attribute, or text. The HTML DOM tree allows programming languages ​​to dynamically manipulate the structure, style, and content of a document.

[0335] Server 200 can send training data 2501 to the second API 2520. The second API 2520 can be a module for extracting HTML elements. The second API 2520 can obtain network elements from the training data 2501. Network elements may include network-related requests. A request is the process by which a browser or application communicates with a web server to obtain resources such as HTML, images, or scripts. The second API 2520 can obtain network elements based on network inspector logs (log data or log information). The second API can then send the network elements to the main model 210.

[0336] The main model 210 can obtain HTML elements from the first API 2510. The main model 210 can obtain web elements from the second API 2520. The main model can be trained to output an ad-free screen based on HTML elements and web elements. The main model 210 can obtain output data 2502 including the ad-free screen.

[0337] Figure 26 Operations for training a model according to embodiments of the present disclosure are illustrated.

[0338] refer to Figure 26 According to embodiment 2610, the main model 210 can be trained based on the training loss. The server 200 can send the input data (Xin) to the code generation (CodeGen) module 2611. The data (Xin) can be screen data including advertisements.

[0339] The CodeGen module 2611 can obtain prediction information for automatic code generation. The CodeGen module 2611 can send this prediction information to the LossFunction module 2612. The LossFunction module 2612 can receive the prediction information from the CodeGen module 2611. The LossFunction module 2612 can obtain output data (Yin). The output data (Yin) can be screen data without advertisements.

[0340] The loss function module 2612 can obtain the training loss based on the difference between the predicted information and the output data (Yin).

[0341] Server 200 can train the main model 210 based on the training loss.

[0342] In an embodiment, the electronic device 100 may be based on Figure 26 The method in the text is used to train the sub-model.

[0343] According to embodiment 2620, server 200 can obtain a sub-model corresponding to the main model. The main model can be a teacher model, and the sub-model can be a student model.

[0344] The main model can obtain soft-labeled data based on the input data (Xin) through the Softmax layer.

[0345] The sub-model can obtain soft (simple) prediction information based on the input data (Xin) through the Softmax layer. Soft (simple) prediction information can be described as first prediction information.

[0346] The sub-model can obtain hard (detailed) prediction information based on the input data (Xin) through the Softmax layer. Hard (detailed) prediction information can be described as second prediction information.

[0347] The loss function module 2612 may include a first loss function module 2612-1 and a second loss function module 2612-2. The first loss function module 2612-1 may obtain the distillation loss based on soft-labeled data and soft (simple) prediction information. The second loss function module 2612-2 may obtain the training loss based on hard (detailed) prediction information and output data (Yin).

[0348] Server 200 can obtain the total loss based on distillation loss and training loss. Server 200 can train the main model and sub-models based on the total loss.

[0349] According to embodiment 2630, server 200 may include quantization function module 2631. Quantization function module 2631 is executable. Figure 8 The INT4 quantization operation in [the context of the text].

[0350] Figure 27 Operations for adapter (sub-model) training according to embodiments of this disclosure are illustrated.

[0351] refer to Figure 27 According to embodiment 2710, electronic device 100 can train a sub-model. Electronic device 100 can use a low-rank (LoRA) adapter to train (or learn) the user's personalized preferences.

[0352] The electronic device 100 can inject a low-rank decomposition matrix into the multi-head attention layer. The electronic device 100 can use stored user data to train the sub-model.

[0353] Electronic device 100 can acquire an adapter that can be attached to the sub-model. Electronic device 100 can modify its behavior so that future ad blocking on the user's device can match the individual user's preferences.

[0354] Since the sub-models can be quantized, all training operations can occur on the device (e.g., electronic device 100). Furthermore, we use differential privacy stochastic gradient descent (DP-SGD) to guarantee differential privacy on the obtained adapter.

[0355] According to embodiment 2720, electronic device 100 can store a multi-head attention layer with a LoRA adapter. The multi-head attention layer with a LoRA adapter can use query, key, and value data to compute output data.

[0356] Figure 28 Operations for updating a sub-model according to embodiments of the present disclosure are illustrated.

[0357] refer to Figure 28The electronic device 100 can obtain user reports. User reports can be... Figure 10 User input within the system. User reports can include... Figure 11 and Figure 16 User data within the system. User reports can include user preferences corresponding to advertisements.

[0358] Electronic device 100 can send user reports to server 200. Server 200 can obtain user reports from electronic device 100.

[0359] In embodiment 2810, electronic device 100 may be multiple devices. These multiple devices may send at least one user report to server 200. Server 200 may receive at least one user report from these multiple devices.

[0360] Server 200 can combine (or merge) at least one user report. Server 200 can perform an averaging operation to update the master model. Server 200 can obtain user preferences corresponding to advertisements based on at least one user report. Server 200 can obtain the number of specific advertisements blocked based on user preferences. Server 200 can update the master model if the number of specific advertisements blocked exceeds a threshold. The number of specific advertisements blocked can be used as a trigger for updating the master model. To detect update triggers, server 200 can maintain a differential privacy database of user advertising preferences (e.g., a simple counter).

[0361] In Example 2820, the adapter's decomposition matrix can also be used as a proxy for user preferences, since the adapter has already learned these on the device. The method for comparing the distance between the user adapter and the main model in vector space could be used as an alternative trigger for updates, but this requires further investigation. Note that this method does not require additional privacy measures because the adapter is differentially private by default, which guarantees the privacy of update triggers based on vector metrics.

[0362] In Example 2830, one advantage of using LoRA is that the adapters (which are decomposition matrices) can be incorporated into the weights of the model itself. When an update is triggered, server 200 can simply pull all users' individual adapters from their devices, perform a Tangent model averaging, and incorporate the averaged adapters into the main model. Server 200 can then update the sub-models across multiple devices with the new sub-models. Each user's adapter is trained using DP-SGD, ensuring differential privacy throughout the automatic update process.

[0363] Figure 29 A region-based hierarchical distribution according to an embodiment of the present disclosure is shown.

[0364] refer to Figure 29According to embodiment 2900, the raw data may remain on the subscriber's device, and training utilizes differential privacy technology, which always ensures subscriber privacy. Similar to user data, region-specific data may remain on the region server. This personalization can be extended to region-specific content filtering.

[0365] This disclosure extends the subsystem to have a multi-level hierarchy, which includes (2910) an AIM module, (2920) a region-specific adapter (RSA) and (2930) adapter-based personalization and updates.

[0366] AIM modules can be described as the main model. Region-specific adapters can be described as region models. Adapter-based personalization and updates can be described as sub-models.

[0367] In the first level 2910, server 200 may include the main model. The main model can be in the GeneralUpstream.

[0368] In the second level 2920, the regional servers 201 and 202 may include regional models 210-1 and 210-2 and collection modules 220-1 and 220-2.

[0369] Collection modules 220-1 and 220-2 can utilize the knowledge collected and learned from the sub-models of multiple electronic devices 101, 102, 103, 104, 105, and 106 within the region. Region-specific preferences can be manually labeled by region servers 201 and 202. Region servers 201 and 202 can train region models 210-1 and 210-2. Region servers 201 and 202 can use region models 210-1 and 210-2 to learn preferences using the knowledge learned from user data and specific region-specific preferences. Region servers 201 and 202 can perform averaging operations to group region models 210-1 and 210-2. When an update is triggered, region servers 201 and 202 can send the grouping information obtained from the averaging operation to the main model.

[0370] In the third level 2930, multiple electronic devices 101, 102, 103, 104, 105, and 106 can connect to at least one of the regional servers 201 and 202.

[0371] Multiple electronic devices 101, 102, 103, 104, 105, and 106 can be described as electronic device 100. Electronic device 100 can acquire user data. It collects user advertising preferences as training data for further fine-tuning, which is used for subsequent sub-model training. User data never leaves the device to ensure privacy among electronic devices 100.

[0372] The electronic device 100 can train a sub-model. The electronic device 100 can use the sub-model to learn preferences using collected user data. Training employs differential privacy techniques to ensure the inherent privacy of the sub-model.

[0373] Electronic device 100 can update region models 210-1 and 210-2. When an update is triggered, electronic device 100 can perform an averaging operation to aggregate the learned sub-models into the region model.

[0374] Electronic device 100 can send aggregated information obtained during the averaging operation to regional servers 201 and 202.

[0375] The area server may include a first area server 201 and a second area server 202. The first area server 201 may connect to multiple electronic devices 101, 102, and 103. The second area server 202 may connect to multiple electronic devices 104, 105, and 106.

[0376] Server 200 can determine whether network elements (e.g., network requests) and HTML elements (e.g., web page elements) are advertisements that should be filtered accordingly.

[0377] Similar to Figure 6 In the embodiment 2900, the user is also allowed to manually tag web page elements to specify whether they are advertisements. This personalization is then used to automatically update region models 210-1 and 210-2.

[0378] Regional servers 201 and 202 can manually mark whether certain elements are advertisements, or implicitly obtain information from downstream subscribers (e.g., electronic devices 101, 102, 103, 104, 105, 106).

[0379] Figure 30 A control method for an electronic device 100 according to an embodiment of the present disclosure is shown.

[0380] refer to Figure 30A control method for an electronic device 100 storing a first sub-model corresponding to a master model, wherein the master model is stored in a server 200, and wherein the first sub-model is obtained by reducing the size of the master model, the method comprising: at operation S3005, displaying a first screen including advertisements; at operation S3010, obtaining first user input for blocking advertisements; at operation S3015, obtaining a second screen without advertisements when the first screen and the first user input are input into the first sub-model; at operation S3020, displaying the second screen without advertisements; at operation S3025, obtaining first user data including the first user input, the first screen, and the second screen based on the recognition of a first predetermined event; and at operation S3030, obtaining a second sub-model by retraining the first sub-model based on the first user data.

[0381] The main model can be obtained by training on server 200. The first sub-model can be obtained by training the main model on server 200 based on at least one of knowledge distillation or quantization.

[0382] The method also includes receiving a first sub-model from server 200 and storing the first sub-model.

[0383] Obtaining the second screen at operation S3030 includes obtaining the second screen by executing a function for blocking advertisements through the first sub-model.

[0384] The first predetermined event may include events for executing training patterns related to the sub-model's function of blocking ads.

[0385] The method also includes sending the second sub-model to the server 200 based on the recognition of the second predetermined event.

[0386] The second scheduled event may include an event indicating that a scheduled period has passed.

[0387] The first sub-model can be stored in another electronic device 102. The server 200 can receive the third sub-model from the other electronic device 102. The third sub-model can be obtained by retraining the first sub-model based on the second user data from the other electronic device 102.

[0388] The method also includes receiving a fourth sub-model from server 200 and storing the fourth sub-model in memory. The master model is the first master model. The fourth sub-model can be obtained by retraining the second master model on server 200 based on at least one of knowledge distillation or quantization. The second master model can be obtained by retraining the first master model on server 200 based on the second and third sub-models.

[0389] The method also includes obtaining HTML elements and web elements based on the first screen. Obtaining the second screen at operation S3030 includes obtaining a second screen without advertisements when HTML elements, web elements, and the first user input are input into the first sub-model.

[0390] Various example methods according to the various embodiments of the present disclosure described above can be implemented in the form of applications that can be installed on existing electronic devices.

[0391] The example methods according to the various embodiments of the present disclosure described above can be implemented by upgrading the software or hardware of existing electronic devices.

[0392] The various embodiments of the present disclosure described above can also be performed by an embedded server included in an electronic device or an external server included in at least one of the electronic device or display device.

[0393] According to embodiments of this disclosure, the various embodiments described above can be implemented by software including instructions stored in a machine-readable storage medium. A machine is an apparatus that invokes stored instructions from a storage medium and is operable according to the invoked instructions, and may include electronic devices according to the disclosed embodiments. When an instruction is executed by a processor, the processor may perform the function corresponding to the instruction directly or using other components under the processor's control. Instructions may include code generated by a compiler or interpreter-executable code. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. A "non-transitory" storage medium may not include signals and may be tangible, and does not distinguish whether data is stored semi-permanently or temporarily in the storage medium.

[0394] Although this disclosure has been shown and described with reference to various embodiments thereof, those skilled in the art will understand that various changes in form and detail may be made therein without departing from the spirit and scope of this disclosure as defined by the appended claims and their equivalents.

Claims

1. An electronic device comprising: a memory configured to store a first sub-model corresponding to a main model and one or more computer programs, the main model being stored in a server, and the first sub-model being obtained by reducing a size of the main model; a communication circuit configured to communicate with the server including the main model; a display; and one or more processors communicatively coupled to the communication circuit, the display, and the memory, wherein the one or more computer programs include computer-executable instructions that, when executed by the one or more processors alone or collectively, cause the electronic device to: control the display to display a first screen including an advertisement, obtain a first user input for blocking the advertisement, obtain a second screen without the advertisement when the first screen and the first user input are input into the first sub-model, control the display to display the second screen without the advertisement, obtain first user data including the first user input, the first screen, and the second screen based on a first predetermined event being identified, and obtain a second sub-model by retraining the first sub-model based on the first user data. 2.The electronic device of claim 1, the main model is obtained by training on the server, and wherein wherein the first sub-model is obtained by training the main model on the server based on at least one of knowledge distillation or quantization. the one or more computer programs further include computer-executable instructions that, when executed by the one or more processors alone or collectively, cause the electronic device to: 3.The electronic device of claim 1, wherein receive the first sub-model from the server through the communication circuit; and store the first sub-model in the memory. the one or more computer programs further include computer-executable instructions that, when executed by the one or more processors alone or collectively, cause the electronic device to: 4.The electronic device of claim 1, wherein obtain the second screen by executing a function for blocking an advertisement through the first sub-model. the first predetermined event includes an event for executing a training mode related to a function for blocking an advertisement of the first sub-model. 5.The electronic device of claim 4, wherein, the one or more computer programs further include computer-executable instructions that, when executed by the one or more processors alone or collectively, cause the electronic device to: 6.The electronic device of claim 1, wherein transmit the second sub-model to the server through the communication circuit based on a second predetermined event being identified. the second predetermined event includes an event indicating that a predetermined period of time has elapsed. 7.The electronic device of claim 6, wherein 8.The electronic device of claim 6, the first sub-model is stored in another electronic device, wherein, wherein the server receives a third sub-model from the other electronic device, and wherein the third sub-model is obtained by retraining the first sub-model based on second user data of the other electronic device. 9.The electronic device of claim 8, ​ wherein The one or more computer programs further include computer-executable instructions that, when executed by the one or more processors individually or collectively, cause the electronic device to: receive, from the server, a fourth sub-model through the communication circuit, and store the fourth sub-model in the memory, wherein the main model is a first main model, wherein the fourth sub-model is obtained by retraining a second main model based on at least one of knowledge distillation or quantization on the server, wherein the second main model is obtained by retraining the first main model based on the second sub-model and the third sub-model on the server. 10.The electronic device of claim 1, wherein The one or more computer programs further include computer-executable instructions that, when executed by the one or more processors individually or collectively, cause the electronic device to: obtain a hypertext markup language (HTML) element and a web element based on the first screen, and obtain the second screen without the advertisement when inputting the HTML element, the web element, and the first user input into the first sub-model. 11.A method performed by an electronic device storing a first sub-model corresponding to a main model, the main model being stored in a server, and the first sub-model being obtained by reducing a size of the main model, the method comprising: displaying, by the electronic device, a first screen including an advertisement; obtaining, by the electronic device, a first user input for blocking the advertisement; obtaining, by the electronic device, a second screen without the advertisement when inputting the first screen and the first user input into the first sub-model; displaying, by the electronic device, the second screen without the advertisement; based on a first predetermined event being identified, obtaining, by the electronic device, first user data including the first user input, the first screen, and the second screen; and obtaining, by the electronic device, a second sub-model by retraining the first sub-model based on the first user data. 12.The method of claim 11, the main model being obtained by training on the server, and wherein wherein the first sub-model is obtained by training the main model based on at least one of knowledge distillation or quantization on the server. 13.The method of claim 11, further comprising: receiving the first sub-model from the server; and storing the first sub-model. obtaining the second screen comprises: obtaining the second screen by executing a function for blocking an advertisement by the first sub-model.

14. The method of claim 11, wherein, the first predetermined event includes an event for executing a training mode related to a function for blocking an advertisement of the first sub-model. ​ 15. The method of claim 14, wherein, ​

Citation Information

Patent Citations

  • Neural Network-based Inferential Advertising System and Method

    US20180075459A1